CMake学习笔记(一)一个最简单的CMakeLists嵌套示例
- 人工智能
- 2025-07-22 10:54:01

目录
1 mkdir project_macro
2 在project_marco中建立CMakeLists.txt
3 建立专门的src文件夹
4 在src中添加main.cpp和CMakeLists.txt
5 回到project_macro目录,建立build文件夹
6 进入build 文件夹,开始cmake
7 在build文件夹里执行make指令
8 make之后,你将在bin文件夹里发现结果文件main
1 mkdir project_macro 2 在project_marco中建立CMakeLists.txt cd project_macro touch CMakeLists.txt
CMakeLists.txt内容:
PROJECT(hello) ADD_SUBDIRECTORY(src bin)这里,src文件夹需要稍后手动建立,因为在cmake之前,src里面要放进去源码。但是bin文件夹不需要手动建立,因为cmake过程中会自动建立bin。bin用来存放编译产生的结果文件。bin只是习惯的名称,你也可以换个名字,如bin1。
这里顺便讲一下ADD_SUBDIRECTORY的用法
它的第一个输入参数是用来存放源代码的文件夹,第二个参数是用来存放编译结果的文件夹。第二个参数可以输入,也可以不输入。假如不输入,则用来存放编译结果的文件夹就是${PROJECT_BINARY_DIR} ;假如ADD_SUBDIRECTORY第二个参数有内容,比如是bin,则用来存放编译结果的文件夹就是${PROJECT_BINARY_DIR}/bin(注:${EXECUTABLE_OUTPUT_PATH}或者${LIBRARY_OUTPUT_PATH}这两个变量默认是无内容的,但是变量PROJECT_BINARY_DIR总是有内容)(见我的下一篇博客)
3 建立专门的src文件夹 mkdir src 4 在src中添加main.cpp和CMakeLists.txt cd srcCMakeLists.txt
ADD_EXECUTABLE(main main.cpp)main.cpp
#include <stdio.h> int main(void) { printf("123\n"); return 0; } 5 回到project_macro目录,建立build文件夹 cd .. mkdir build此时project_macro文件夹、src文件夹、build文件夹内容如下:
6 进入build 文件夹,开始cmake cd build cmake ..cmake后的build文件夹内出现一些中间文件如makefile,另外ADD_SUBDIRECTORY中加入的bin也出现在build里面。但是bin里面还没有最终结果,因为还没做make:
7 在build文件夹里执行make指令 8 make之后,你将在bin文件夹里发现结果文件main执行看结果:
CMake学习笔记(一)一个最简单的CMakeLists嵌套示例由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CMake学习笔记(一)一个最简单的CMakeLists嵌套示例”