一、CMake 简介
CMake 是一个跨平台的自动化构建系统工具,用于控制软件的编译过程。它使用 CMakeLists.txt
文件描述构建逻辑,支持生成适用于多种平台的本地构建文件,如 Makefile、Ninja 或 Visual Studio 工程。
CMake 适用于 C/C++ 项目,也可配合其他语言使用,是大型工程、跨平台开发的首选工具。
二、CMake 安装方法
2.1 Windows 安装
方法一:官网下载安装包
- 访问官网:https://cmake.org/download/
- 选择对应系统下载 Windows x64 Installer
- 安装过程中勾选“Add CMake to system PATH”
方法二:使用包管理器安装
choco install cmake
2.2 macOS 安装
推荐使用 Homebrew:
brew install cmake
2.3 Linux 安装
Ubuntu / Debian
sudo apt update
sudo apt install cmake
CentOS / RHEL
sudo yum install cmake
三、验证安装
cmake --version
输出示例:
cmake version 3.28.1
四、创建第一个 CMake 项目
4.1 项目结构
project/
├── CMakeLists.txt
└── main.cpp
4.2 示例代码
main.cpp
:
#include <iostream>
int main() {
std::cout << "Hello, CMake!" << std::endl;
return 0;
}
CMakeLists.txt
:
cmake_minimum_required(VERSION 3.10)
project(HelloCMake)
set(CMAKE_CXX_STANDARD 17)
add_executable(hello main.cpp)
五、编译项目
在项目根目录下执行:
mkdir build
cd build
cmake ..
cmake --build .
生成可执行文件 hello
,运行:
./hello
六、常用 CMake 命令解释
命令 | 说明 |
---|---|
project() | 设置项目名称 |
add_executable() | 编译目标文件 |
add_library() | 添加静态或动态库 |
target_include_directories() | 添加头文件目录 |
target_link_libraries() | 链接库 |
set() | 设置变量 |
七、常见问题
Q1: CMake 报错 “No CMakeLists.txt found”?
请确保你在包含 CMakeLists.txt
的目录下运行 cmake
命令。
Q2: 编译器版本问题?
可使用 cc --version
和 c++ --version
检查编译器,必要时升级 gcc/g++ 或使用 Clang。
八、进阶使用
- 支持多平台构建(Windows, macOS, Linux)
- 支持条件编译、配置头文件、外部依赖(如 Boost)
- 支持自动测试(CTest)、安装(install)、打包(CPack)
九、学习资源推荐
本文由“小奇Java面试”原创发布,转载请注明出处。
可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。