ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

CMakeLists.txt用法备忘

CMakeLists.txt用法备忘 CMakeLists.txt是 CMake 构建系统的核心配置文件它使用 CMake 语言来定义项目的构建过程。通过编写CMakeLists.txt你可以跨平台地管理 C、C、Fortran 等项目的编译、链接、测试和安装。CMake通过CMakeLists.txt配置项目的构建系统配合使用cmake命令行工具生成构建系统并执行编译、测试。VScode 中使用CMakeLists.txt插件必须安装可选择编译器cmake_minimum_required(VERSION 3.20) project(vsin01 VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(OpenCV_DIR D:/opencv4.10/x64/mingw/lib)#库路径你自己换成你电脑上的 find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) # 包含 Eigen 头文件目录 include_directories(D:/Forvs/eigen-3.4.0) # 查找项目中的所有 .cpp 源文件排除 CMake 生成目录 file(GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/*.cpp ${CMAKE_SOURCE_DIR}/*.hpp ) # 手动排除掉 CMake 生成的 CMakeFiles 目录 list(FILTER SOURCES EXCLUDE REGEX /CMakeFiles/) # 将找到的文件添加到可执行文件中 add_executable(MYCODE ${SOURCES}) target_link_libraries(MYCODE PRIVATE ${OpenCV_LIBS})注意如果配置后仍找不到opencv按F1如图选择就可以解决了Clion中使用vscode也可以cmake_minimum_required(VERSION 3.31) # 定义项目名称 project(untitled13001) # 设置 C 标准 set(CMAKE_CXX_STANDARD 17) # OpenCV 目录设置 set(OpenCV_DIR G:\\Open412MinGw11.2viz) # 查找 OpenCV 包 find_package(OpenCV REQUIRED) # 包含 OpenCV 头文件目录 include_directories(${OpenCV_INCLUDE_DIRS}) # 查找项目中的所有 .cpp 源文件排除 CMake 生成目录 file(GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/*.cpp ${CMAKE_SOURCE_DIR}/*.hpp ) # 手动排除掉 CMake 生成的 CMakeFiles 目录 list(FILTER SOURCES EXCLUDE REGEX /CMakeFiles/) # 将找到的文件添加到可执行文件中 add_executable(untitled13001 ${SOURCES}) # 链接 OpenCV 库 target_link_libraries(untitled13001 ${OpenCV_LIBS})Pcl点云也可以在cmakelists.txt中设置cmakelists.txt会根据 系统变量找pcl相关路径cmake_minimum_required(VERSION 3.8) project(PCLProject) # 设置C标准 set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 查找Boost库 find_package(Boost REQUIRED COMPONENTS system thread date_time) # 查找PCL及其所有依赖项 find_package(PCL 1.14 REQUIRED) # 添加PCL的头文件目录 include_directories(${PCL_INCLUDE_DIRS}) include_directories(${Boost_INCLUDE_DIRS}) # 添加编译选项 add_definitions(${PCL_DEFINITIONS}) # 创建可执行文件 add_executable(${PROJECT_NAME} main.cpp) # 链接PCL库和Boost库 target_link_libraries(${PROJECT_NAME} ${PCL_LIBRARIES} ${Boost_LIBRARIES} )#纯 vscode mingw c#纯 vscode mingw c cmake_minimum_required(VERSION 3.21) # 定义项目名称 project(testcpp) # 设置 C 标准 set(CMAKE_CXX_STANDARD 17) # 查找项目中的所有 .cpp 源文件排除 CMake 生成目录 file(GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/*.cpp ${CMAKE_SOURCE_DIR}/*.hpp ) # 手动排除掉 CMake 生成的 CMakeFiles 目录 list(FILTER SOURCES EXCLUDE REGEX /CMakeFiles/) # 将找到的文件添加到可执行文件中 add_executable(${PROJECT_NAME} ${SOURCES})#CMakeLists.txt vscode mingw opencv#CMakeLists.txt good cmake_minimum_required(VERSION 3.21) # 定义项目名称 project(testcpp) # 设置 C 标准 set(CMAKE_CXX_STANDARD 17) # OpenCV 目录设置 #set(OpenCV_DIR G:\\Open412MinGw11.2viz) # 查找 OpenCV 包 find_package(OpenCV REQUIRED) # 包含 OpenCV 头文件目录 include_directories(${OpenCV_INCLUDE_DIRS}) # 查找项目中的所有 .cpp 源文件排除 CMake 生成目录 file(GLOB_RECURSE SOURCES ${CMAKE_SOURCE_DIR}/*.cpp ${CMAKE_SOURCE_DIR}/*.hpp ) # 手动排除掉 CMake 生成的 CMakeFiles 目录 list(FILTER SOURCES EXCLUDE REGEX /CMakeFiles/) # 将找到的文件添加到可执行文件中 add_executable(${PROJECT_NAME} ${SOURCES}) # 链接 OpenCV 库 target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进