当前位置: 首页 > news >正文

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})

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}
)

http://www.dtcms.com/a/446700.html

相关文章:

  • 【文献笔记】AAAI 2018 | DGCNN
  • 网站建设费可以计业务费吗电商网站系统
  • vue2.0网站开发广东装修公司排名前十强
  • docker入门(保姆级)
  • 微表单网站大丰有没有做网站
  • 【打造你的全栈 AI 中控台】一文拆解 Open WebUI:从多模型聚合、RAG 引擎到未来 Agent 化的演进密码
  • 网站建设的基本话术天津软件设计公司
  • Maven多模块项目MyMetaObjectHandler自动填充日期未生效
  • 自己做网站教学视频网站为什么要备案
  • 大模型学习周报十六
  • 网站建设时间规划出入东莞最新通知今天
  • 彩票网站建设柏镇江网友之家
  • ESP32-S3入门第九天:摄像头入门与应用
  • 泰宁县建设局网站泰达人才网招聘网
  • 桂林网站推广深圳辰硕网站优化
  • 内网 渗透
  • 企业网站的建立与维护论文做电影网站只放链接算侵权吗
  • 给人做logo的网站教育视频网站开发
  • 长春建设银行网站明星网页设计模板图片
  • Linux 进程通信——匿名管道
  • 微服务项目->在线oj系统(Java-Spring)--C端用户管理
  • 网站推广双鼎九九建筑网66kv架空线路设计视频讲座
  • 网站模板分享网站开发招投标书
  • 常州微信网站建设方案全网营销公司有哪些
  • 计算机理论学习Day10
  • 第8章:扩展边界:技术之外的视野(3)
  • 医院做网站开发做网站的主机配置
  • 做的比较好的车载嗨曲网站淘宝联盟怎么建设网站
  • 计算机网络自底向上——物理层笔记整理
  • 南京服务好建设网站哪家好网站开发项目架构说明书