ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CMake编译工程

2022-03-02 22:01:31  阅读:188  来源: 互联网

标签:CMakeList CMake 工程 make 编译 build txt 目录


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


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

标签:CMakeList,CMake,工程,make,编译,build,txt,目录
来源: https://blog.csdn.net/qq_51491920/article/details/123235216

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有