Linux Makefile:使用CMake生成Makefile文件_cmake写makefile

二、 简单样例

首先让我们从最简单的代码入手,先来体验下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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值