超详细的cmake入门教程
CMake 是一个开源的跨平台构建工具,可以自动化生成编译脚本,支持多种编译器和操作系统。本文将为大家介绍基本的 CMake 用法,以及如何在项目中使用 CMake 进行构建。
基本概念
在使用 CMake 之前,我们需要了解几个基本概念:
- 项目:即我们要构建的一个完整而独立的工程,由多个文件组成;
- 源文件:即工程中的源代码文件,可以是 C、C++、Java 或 Python 等;
- 目标文件:即生成的中间文件(object),由编译器编译源文件生成;
- 可执行文件:即最终生成的二进制文件。
安装
在开始使用 CMake 之前,我们需要先安装。CMake 的官方网站为 cmake.org,可以在该网站上下载对应平台的安装包进行安装。同时,CMake 还支持通过包管理工具(如 apt-get、yum 等)进行安装,具体方法请参照相关文档。
CMakeLists.txt
CMake 的配置文件为 CMakeLists.txt,该文件需要位于工程的根目录下。我们需要在该文件中指定工程名称、源文件和可执行文件等信息。以下是一个简单的示例:
# 指定 CMake 的最低版本要求
cmake_minimum_required(VERSION 3.10)
# 指定工程名称
project(demo)
# 添加源文件
add_executable(demo main.cpp)
在该示例中,我们首先使用 cmake_minimum_required
指定了 CMake 的最低版本要求,然后使用 project
指定了工程名称,并最后使用 add_executable
添加了源文件。
构建
使用 CMake 进行构建非常简单,我们只需要在工程根目录下执行以下命令即可:
mkdir build && cd build
cmake .. # 生成 Makefile
make # 构建工程
在执行 cmake ..
命令时,CMake 会根据 CMakeLists.txt 文件生成对应的 Makefile,然后使用 make
命令进行编译。
示例一:C++ 工程的构建
以下是一个 C++ 工程的示例,以计算器项目为例。
- 在项目根目录下创建
CMakeLists.txt
文件,并添加以下内容:
# 指定 CMake 的最低版本要求
cmake_minimum_required(VERSION 3.10)
# 指定工程名称
project(calculator)
# 添加源文件
add_executable(calculator main.cpp add.cpp subtract.cpp)
在该示例中,我们通过 add_executable
指定了三个源文件(main.cpp、add.cpp 和 subtract.cpp),并以 calculator
为名称生成可执行文件。
- 在项目根目录下新建
main.cpp
、add.cpp
和subtract.cpp
三个文件,内容如下:
// main.cpp
#include <iostream>
#include "add.h"
#include "subtract.h"
using namespace std;
int main(int argc, char* argv[]) {
int a = 10;
int b = 20;
cout << a << " + " << b << " = " << add(a, b) << endl;
cout << a << " - " << b << " = " << subtract(a, b) << endl;
return 0;
}
// add.cpp
int add(int a, int b) {
return a + b;
}
// subtract.cpp
int subtract(int a, int b) {
return a - b;
}
在该示例中,我们分别定义了 main
、add
和 subtract
三个函数,并在 main
中调用这两个函数。
- 使用 CMake 进行构建:
mkdir build && cd build
cmake ..
make
执行以上命令之后,在 build 文件夹中将会生成可执行文件 calculator
。
示例二:C 语言工程的构建
以下是一个 C 语言工程的示例,以输出素数的项目为例。
- 在项目根目录下创建
CMakeLists.txt
文件,并添加以下内容:
# 指定 CMake 的最低版本要求
cmake_minimum_required(VERSION 3.10)
# 指定工程名称
project(prime)
# 添加源文件
add_executable(prime main.c)
在该示例中,我们通过 add_executable
指定了一个 main.c
源文件,并以 prime
为名称生成可执行文件。
- 在项目根目录下新建
main.c
文件,内容如下:
#include <stdio.h>
int main() {
int i, j;
for (i = 2; i < 101; i++) {
for (j = 2; j <= i; j++) {
if (i == j) {
printf("%d ", i);
} else if (i % j == 0) {
break;
}
}
}
return 0;
}
在该示例中,我们使用两个 for 循环判断素数并输出。
- 使用 CMake 进行构建:
mkdir build && cd build
cmake ..
make
执行以上命令之后,在 build 文件夹中将会生成可执行文件 prime
。
结语
本文只是介绍了 CMake 的基本用法,更多高级特性和用法请参考官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:超详细的cmake入门教程 - Python技术站