首先在大多数Windows环境下编写代码都是有IDE的,编译处理资源等都有集成在编译器内,且自动化完成了;而在Linux环境下开发这种IDE也是有的,但是由于Linux环境常常是基于命令行的,且如果做嵌入式的Linux开发这时候如果还是基于IDE的就有些困难了,所以Cmake的就是一个相对比较好用的自动化预处理工具。
首先说一下官网的帮助文档:https://cmake.org/documentation;当需要深入学习的时候可以在这上面查找到相关的资料;
下面先说一个简单应用,Linux下编译helloworld.c;
#include <stdio.h>
int main()
{
char *c;
c="hello world!";
printf("%s\n",c);
return 0;
}
一般写完代码,简单的可以用终端的方式编译,比如:
gcc -o helloworld helloworld.c //或者直接:gcc helloworld.c
编译后文件里会多一个helloworld.o的文件,用:./helloworld 运行即可。如果这个例子用Cmake编写的话首先要先写一个CMakeLists.txt的文档(cmake不区分大小写的):
#项目名称
project(helloworld)
#Cmake版本
cmake_minimum_required(VERSION 3.6)
#要编辑生成的目标文件名和源文件名
add_executable(helloworld helloworld.c)
保存然后对应目录下终端运行:
cmake .
make
即可编译成功。
第二种CMakeLists.txt写法,还是同样编辑上面的源文件:
#项目名称
PROJECT(helloworld)
#Cmake版本
CMAKE_MINIMUM_REQUIRED(VERSION 3.9)
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
#要编辑生成的目标文件名和源文件名(DIR_SRCS)
ADD_EXECUTABLE(helloworld ${DIR_SRCS})
同样“cmake .”后即可编译;
本文介绍在Linux环境下如何使用CMake进行自动化预处理,包括编写CMakeLists.txt文件和编译流程,适合初学者了解CMake的基本操作。
5176

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



