CMake编译C++程序并运行

Windows系统下实现CMake编译

写了一个小程序,并保存在example.cpp文件中。

接着在同级目录下创建一个build文件夹和一个CMakeLists.txt文件,文件中写入以下内容:

# 指定要求的CMake的最低版本
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)# 定义项目的名称,会在build目录中生成Project_Name.sln --> OXI_Model_Project.sln
project(OXI_Model_Project)# 设置Libtorch的路径,具体到Torch目录
set(Torch_DIR D:/LibTorch/libtorch/share/cmake/Torch)# 查找并加载Torch库
find_package(Torch REQUIRED)# 将TORCH_CXX_FLAGS添加到CMAKE_CXX_FLAGS中,以确保正确的编译选项和标志
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")# 将源文件example.cpp添加到可执行文件oxi_model中,可执行文件的名字自己设置
add_executable(oxi_model example.cpp)# 将TORCH_LIBRARIES链接到可执行文件oxi_model中,以确保正确的链接Torch库
target_link_libraries(oxi_model "${TORCH_LIBRARIES}")# 将目标可执行文件oxi_model的C++标准设置为C++14;Libtorch是基于C++14实现的
set_property(TARGET oxi_model PROPERTY CXX_STANDARD 14)

然后打开Developer Command Prompt for vs 2022命令行窗口,cd到build目录中,依次输入以下命令:

cmake -DCMAKE_PREFIX_PATH=`D:\LibTorch\libtorch\share\cmake\Torch` ..  // 编译配置文件
msbuild OXI_Model_Project.sln /p:Configuration=Release /m  // 生成可执行文件,放在Release目录中

最后,在Release目录中双击可执行文件,或者在命令行窗口cd进入Release目录,再输入oxi_model即可运行可执行文件oxi_model.exe。

Linux系统下实现CMake编译

在Linux系统中的操作与在Windows系统中的操作如出一辙,只是在命令行窗口中输入的命令有所不同。在Linux系统中打开终端,cd到build目录中,依次输入以下命令:

cmake ..  // 编译配置文件
make  // 生成可执行文件

然后在build目录下输入./oxi_model即可输出运行结果。

猜你喜欢

转载自blog.csdn.net/weixin_48158964/article/details/132489240