CMake Reference
定义程序编译规则
生成可执行文件的最简单版本的 CMakeLists.txt
以上CMakeLists.txt定义的编译规则是将源文件tutorial.c编译成名为 Tutorial 的可执行文件。
一般用法是,新建一个文件夹,一般命名为 build ,在终端进入该文件夹,然后调用 cmake ../ , cmake 会在找到上级目录找到 CMakeLists.txt ,生成 makefile 和一些其它文件。
在 makefile 所在目录,调用 make 命令,会根据 makefile 对程序进行编译生成。
当在mac系统下编写c++程序时候,一般需要使用Xcode。如果不想装Xcode如何编译、运行程序呢?
一种方法是编写makefile文件,用makefile文件管理程序脚本之间的相互依赖关系
一、CMake是一种跨平台编译工具,比make更为高级。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序
二、cmake 指向CMakeLists.txt所在的目录,例如cmake .. 表示CMakeLists.txt在当前目录的上一级目录
cmake会生成很多中间文件,所以建议新建一个文件夹存放,分四个步骤:
1、mkdir bulid //新建文件夹存放编译的中间文件
2、cd bulid //进入bulide文件夹
3、cmake .. //因为CMakeLists.txt文件在当前目录的外面,所以cmake命令需要使用cmake ..
4、make //make命令根据makefile文件编译源码,在bulid目录下生成一个可执行文件,运行获取结果
CMakeLists.txt主要包含以上的7个步骤:
#1.cmake verson,指定cmake版本
cmake_minimum_required(VERSION 3.13)
#2.project name,指定项目的名称,一般和项目的文件夹名称FirstProject对应
PROJECT(FirstProject)
#3.head file path,头文件目录
INCLUDE_DIRECTORIES()
#4.source directory,源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"
SET(TEST_MATH)
#6.add executable file,添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})
#7.add link library,添加可执行文件所需要的库(命名规则:lib+name+.so),就添加该库的名称
TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)
C++项目很多都是基于CMake进行组织管理的,自2017年起VS支持cmake项目的直接编译后,对于小型项目,我们可以直接在vs中管理CMake工程,方便我们学习。下面以武汉大学牛小骥老师课题组开源组合导航程序KF-GINS为例说明。1:打开VS2022 选择:继续但无需代码,如下图
2:选择文件—>打开——>CMake,如下图
3:选择要打开的cmake项目,选择最上层的CMakeLists.txt文件,如下图
打开完成后进入如下页面,工程被编译,可以选择打开CMake设置编辑器,打开类似于CMAKE-GUI的配置界面,也可以在项目栏点击“CMakeSettings.json”打开,进行相应设置
选择Debug模式,重新生成
4:选择启动项,选择Debug模式下生成的exe文件即可进行调试
调试如下:
c++
华为新品发布会即将开启,快来领取你的专属优惠券吧!
精选推荐
广告
Visual Studio 2022编译CMake工程
5421阅读·0评论·1点赞
2022年2月16日
如何在 VS Code 中编译和调试 CMake 项目
1489阅读·0评论·1点赞
2022年8月31日
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
890阅读·0评论·1点赞
2022年11月19日
VS2022 + Cmake 开发Qt6
1279阅读·0评论·0点赞
2022年6月25日
使用CMake生成sln项目和VS工程遇到的问题
3.1W阅读·2评论·7点赞
2015年3月4日
VS Code安装和使用CMake工具
1997阅读·0评论·1点赞
2020年11月14日
超真实的荒岛生存体验,开局就送SSS级地狱级武器!
精选推荐
广告
windows下Cmake配置vs2022工程
4317阅读·7评论·3点赞
2022年6月18日
vs 打开cmake
2152阅读·0评论·0点赞
2021年8月20日
使用VS自带的命令行编译CMAKE项目
2193阅读·0评论·2点赞
2022年4月13日
Visual Studio 2022 在Windows上编译调试WSL2 CMake跨平台Linux工程
3757阅读·3评论·2点赞
2021年12月26日
VS中的cmake
178阅读·0评论·0点赞
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)