<Linux开发> linux开发工具-之-CMake简单例程[初见]
Cmake相关文章如下:
<Linux开发> linux开发工具-之-CMake简单例程[初见]
<Linux开发> linux开发工具-之-CMake简单例程[再见]
<Linux开发> linux开发工具-之-CMake语法[细见1]
<Linux开发> linux开发工具-之-CMake语法[细见2]
<Linux开发> linux开发工具-之-CMake语法[细见3]
一、前言
cmake 是一个跨平台的自动构建工具,前面导语部分也已经给大家介绍了,cmake 的诞生主要是为了解
决直接使用 make+Makefile 这种方式无法实现跨平台的问题,所以 cmake 是可以实现跨平台的编译工具,
这是它最大的特点,当然除了这个之外,cmake 还包含以下优点:
开放源代码:我们可以直接从 cmake 官网 https://cmake.org/下载到它的源代码;
跨平台:cmake 并不直接编译、构建出最终的可执行文件或库文件,它允许开发者编写一种与平台
无关的 CMakeLists.txt 文件来制定整个工程的编译流程,cmake 工具会解析 CMakeLists.txt 文件语
法规则,再根据当前的编译平台,生成本地化的 Makefile 和工程文件,最后通过 make 工具来编译
整个工程;所以由此可知,cmake 仅仅只是根据不同平台生成对应的 Makefile,最终还是通过 make
工具来编译工程源码,但是 cmake 却是跨平台的。
语法规则简单:Makefile 语法规则比较复杂,对于一个初学者来说,通常并不那么友好,并且
Makefile 语法规则在不同平台下往往是不一样的;而 cmake 依赖的是 CMakeLists.txt 文件,该文件
的语法规则与平台无关,并且语法规则简单、容易理解!cmake 工具通过解析 CMakeLists.txt 自动
帮我们生成 Makefile,这样就不需要我们自己手动编写 Makefile 了。
本章主要讲解简单的使用,具体CMake的介绍,读者可自行网上查阅资料;
二、安装CMake
ubuntu下安装CMake直接使用apt-get install
命令如下:
sudo apt-get install cmake
版本查看:
命令:
cmake --version
三、编写测试代码
1、编写编序所需的代码
这里以hello代码为例,新建main.c,并编写下列代码:
/***************************************************************
Copyright © OneFu Co., Ltd. 1998-2022. All rights reserved.
文件名 : main.c
作者 : waterfxw
版本 : V1.0
描述 : hello 示例代码
其他 : 主要是测试 使用cmake
日志 : 初版 V1.0 2023/03/15 waterfxw创建
***************************************************************/
#include <stdio.h>
int main(void)
{
while(1)
{
printf("hello test \n");
sleep(2);
}
return 0;
}
2、编写cmake代码
在main.c同级目录下新建CMakeLists.txt,并输入一下内容:
project(WATER)
add_executable(water ./main.c)
四、cmake编译
上述代码编写完成后保存,并使用cmake编译,编译命令如下:
cmake ./
编会输出提示,并生成一些文件,如下图:
虽然生成很多文件,但我们只关心Makefile,因为我们使用cmake就是为了得到Makefile。
五、开发代码编译
通过cmake得到的Makefile,我们可以直接使用这个来编译我们的项目代码,直接使用编译命令make:
make
编译过程如下:
六、运行
直接运行可执行文件water
如下:
我们来看下这个water执行文件的格式:
执行文件的格式是 X86-64,说明只是在ubuntu pc上运行的一个程序。
七、总结
本文只是对cmake的一个简单使用的例程,重在理解使用方式;后续会持续讲解cmake的相关使用,以及更大一些的工程代码上的使用,编写cmake的方法。