Ubuntu 下cmake编译C程序简单流程

Ubuntu 下cmake编译C程序简单流程

效果:将文件夹内的 demo.c 编译为可执行二进制文件

新建一个项目文件夹,里面新建两个文件 CMakeLists.txt demo.c

demo.c

#include <stdio.h>
int main(){
    
    
    printf("helloworld!");
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)

#project name
PROJECT(demo_cmake)

#add executable file
ADD_EXECUTABLE(demo demo.c)

 

其中最重要的就是 ADD_EXECUTABLE(demo demo.c) 意思是将 demo.c 编译为 demo 可执行文件

接着在当前目录下执行

cmake .
make

编译完成后文件结构如下:
在这里插入图片描述
接着terminal 执行 demo 可执行文件即可看到程序运行结果。

hardy@hardy-virtual-machine:~/project/C/demo_c$ ./demo
helloworld!hardy@hardy-virtual-machine:~/project/C/demo_c$ 

2020/12/23 更新

编写更简单的makeflie 以及gcc编译;
makeflie

all: a

a:a.c
	gcc -o a a.c

clean:
	rm -rf a

终端执行 make 进行增量编译(若代码没有变化就不编译 make: Nothing to be done for ‘all’.
),还可以使用变量指定编译器和参数,使用 $(var) 代替。

其中 第一行的all对应的是自动编译的标签,没加入到all的例如clean可以手动make clean执行;标签语句的冒号跟着的是依赖,make会检测该标签的依赖文件是否发生变化,以及使用tab缩进的shell命令,可以是gcc编译或cd、pwd等命令。

小结

cmake 的编译流程比较简单,主要就是cmake 的 CMakeLists.txt文件编写,至少要看懂,知道修改编译需要修改的相关文件路径。

猜你喜欢

转载自blog.csdn.net/qq_44880154/article/details/110727413