二、 简单样例
首先让我们从最简单的代码入手,先来体验下cmake是如何操作的。编写main.c,如下:
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
然后在main.c相同目录下编写CMakeLists.txt,内容如下:
cmake\_minimum\_required(VERSION 2.8)
project(demo)
add\_executable(main main.c)
第一行意思是表示cmake的最低版本要求是2.8,我们安装的是3.10.2;第二行是表示本工程信息,也就是工程名叫demo;第三行比较关键,表示最终要生成的elf文件的名字叫main,使用的源文件是main.c。
在终端下切到main.c所在的目录下,然后输入命令cmake .运行cmake,会输出如下信息:

再来看看目录下的文件:

可以看到成功生成了Makefile,还有一些cmake运行时自动生成的文件。然后在终端下输入make并回车:

可以看到执行cmake生成的Makefile可以显示进度,并带颜色。再看下目录下的文件:

可以看到我们需要的elf文件main也成功生成了,然后运行main:

运行成功!
PS: 如果想重新生成main,输入make clean就可以删除main这个elf文件。
三、 同一目录下多个源文件
接下来进入稍微复杂的例子:在同一个目录下有多个源文件。在之前的目录下添加2个文件,testFunc.c 和 testFunc.h。添加完后整体文件结构如下:

testFunc.c内容如下:
/\*
\*\* testFunc.c
\*/
#include <stdio.h>
#include "testFunc.h"
void func(int data)
{
printf("data is %d\n", data);
}
testFunc.h内容如下:
/\*
\*\* testFunc.h
\*/
#ifndef \_TEST\_FUNC\_H\_
#define \_TEST\_FUNC\_H\_
void func(int data);
#endif
修改main.c,调用testFunc.h里声明的函数func():
#include <stdio.h>
#include "testFunc.h"
int main(void)
{
func(100)


4299

被折叠的 条评论
为什么被折叠?



