主页 > 人工智能  > 

CMake学习笔记(一)一个最简单的CMakeLists嵌套示例


目录

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 src

CMakeLists.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嵌套示例