CMake编译工程

CMake目录结构:项目主目录存在一个CMakeList.txt文件
两种方式设置编译规则
1、包含源文件的子文件包含CMakeList.txt文件,主目录的CMakeList.txt通过add_subdirectory添加子目录即可;
2、包含源文件的子文件夹未包含CMakeList.txt文件,子目录编译规则体现在主目录的CMakeList.txt中;

1.编译流程

在 linux 平台下使用 CMake 构建C/C++ 工程的流程如下:

  • 手动编写 CMakeList.txt
  • 执行命令 cmake PATH 生成 Makefile( PATH 是顶层 CMakeList.txt 所在的目录)。
  • 执行命令 make 进行编译
# import tips
.       # 表示当前目录
./      # 表示当前目录

..      # 表示上级目录
../     # 表示上级目录

2.两种构建方式

  • 内部构件(in-source build)不推荐使用
    内部构建会在同级目录下产生一大堆中间文件,这些中间文件并不是我们最终所需要的,和工程源文件放在一起会显得杂乱无章。
## 内部构建

# 在当前目录下,翻译本目录的CMakeList.txt,生成Makefile和其他文件
cmake .
# 执行make命令,生成target
make
  • 外部构建(out-of-source build)推荐使用
    将编译输出文件与源文件放到不同目录中
## 外部构建

# 1. 在当前目录下,创建build文件夹
mkdir build
# 2.进入build文件夹
cd build
# 3.编译上级目录的CMakeLists.txt,生成Makefile和其他文件
cmake ..
# 4.执行make命令,生成target
make


本文为笔者学习时的记录笔记
视频链接

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Harvey1104

感谢您的认可,无限飓风不断进步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值