首先创建项目结构并编写CMakeLists.txt,然后配置C++标准并添加源文件,接着在build目录中执行cmake命令生成构建系统,最后通过cmake –build编译出可执行文件。

使用CMake构建C++项目是现代c++开发中的常见做法。它能跨平台管理编译过程,支持多种编译器和ide。下面是一个实用的入门指南,帮助你快速配置并构建一个基础的C++项目。
1. 准备项目结构
一个典型的C++项目目录结构如下:
my_project/
├── CMakeLists.txt
├── src/
│ └── main.cpp
将源代码放在src/目录中,根目录下创建CMakeLists.txt文件,这是CMake的配置核心。
2. 编写CMakeLists.txt
在项目根目录创建CMakeLists.txt,内容如下:
立即学习“C++免费学习笔记(深入)”;
cmake_minimum_required(VERSION 3.10)
project(Myapp LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(myapp src/main.cpp)
说明:
- cmake_minimum_required:指定所需最低CMake版本。
- project:定义项目名称,并声明使用C++语言。
- CMAKE_CXX_STANDARD:设置C++标准为C++17,可根据需要改为14、20等。
- add_executable:将源文件编译成可执行文件myapp。
3. 构建项目
打开终端,进入项目根目录,执行以下命令:
mkdir build
cd build
cmake ..
cmake –build .
说明:
- mkdir build:创建独立的构建目录(推荐做法,避免污染源码)。
- cmake ..:读取上级目录的CMakeLists.txt,生成对应平台的构建系统(如Makefile或visual studio工程)。
- cmake –build .:调用底层构建工具完成编译。
构建成功后,可在build/目录下找到生成的可执行文件myapp(linux/macOS)或myapp.exe(windows)。
4. 添加多个源文件或子目录
如果项目变大,可以组织更多源文件。例如:
add_executable(myapp
src/main.cpp
src/utils.cpp
src/helper.cpp
)
也可以使用aux_source_directory自动收集源文件:
aux_source_directory(src SOURCES)
add_executable(myapp ${SOURCES})
对于更复杂的项目,使用add_subdirectory引入模块化结构,比如把公共库单独管理。
基本上就这些。掌握这些基础操作后,你可以逐步学习链接库、添加测试、集成第三方依赖等高级功能。CMake的灵活性让它适合从小工具到大型项目的各种场景。


