cmake学习总结(一)
小结:
从上面简单的示例我们可以看出,Cmake所有的语句都是写在一个名为"CMakeLists.txt"的文本文件里面,所以完成一个工程用cmake管理的完整步骤如下:
1、先建立CMakeLists.txt(这跟我们用makefile来管理工程一样,都有一个特殊的文件来专门书写工程管理代码的,cmake也不例外,使用CMakeLists.txt文本文件来专门书写代码管理工程项目)。
2、然后进行往CMakeLists.txt写配置,具体简单配置参考上面的形式写,复杂的配置,我们会在下面进行演示讲解的。
3、接着使用命令"cmake .",这里必须是CMakeLists.txt同级目录下执行这个命令哈,生成makefile等文件
4、最后使用make命令进行工程编译,进而生成可执行文件。
3、同一个目录有多个源文件:
这里我们在当前目录再添加两个文件:test1.c和test1.h。test1.c文件内容如下:
#include <stdio.h>
#include "test1.h"
void func(int a)
{
printf("a=%d",a);
}
test1.h里面的内容如下:
#ifndef _TEST1_H
#define _TEST1_H
void func(int a);
#endif /* _TEST1_H */
然后在main。c里面进行调用func()这个函数:
#include <stdio.h>
#include "test1.h"
int main(void)
{
func(6);
printf("TXP嵌入式");
return 0;
}
然后这个时候我们的CMakeLists.txt里面书写形式肯定要改了:
cmake_minimum_required (VERSION 2.8)
project (main)
add_executable(main main.c test1.c)
最终结果如下:
root@txp-virtual-machine:/home/txp/test# cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /home/txp/test
root@txp-virtual-machine:/home/txp/test# make
Scanning dependencies of target main
[ 50%] Building C object CMakeFiles/main.dir/main.c.o
[100%] Building C object CMakeFiles/main.dir/test1.c.o
Linking C executable main
[100%] Built target main
root@txp-virtual-machine:/home/txp/test# ls
1 CMakeCache.txt CMakeFiles cmake_install.cmake CMakeLists.txt main main.c Makefile test1.c test1.h
root@txp-virtual-machine:/home/txp/test# ./main
a=6
TXP嵌入式
小结:
上面的CMakeLists.txt的写法,你会注意到add_executable(main main.c test1.c)多了一个源文件(你可以把源码看作成加工的原材料,在makefile里面也是这样来理解目标文件的生成!),所以如果你还要往当前目录下添加源文件的话,在书写CMakeLists.txt文本文件时,直接在第三个语句里面添加源文件;不过这种方式有缺陷,比如说,如果当前文件下有几百个源文件,这个时候你不可能一个个去手写敲吧,不然这样就又回到了原始社会,就不能体现cmake的优越性出来了!更多用法,且听下回细解!
图片新闻
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
11月29日立即预约>> 【上海线下】设计,易如反掌—Creo 11发布巡展
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.5立即观看>> 松下新能源中国布局:锂一次电池新品介绍
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论