首先创建项目结构并编写CMakeLists.txt,然后配置C++标准与头文件路径,接着编写示例代码,通过build目录执行cmake生成构建系统并编译,最后注意跨平台路径与库链接问题。
在现代C++开发中,使用CMake来管理项目已成为标准做法。它能帮助你清晰组织代码结构、简化编译流程,并实现跨平台构建(Windows、Linux、macOS等)。下面是一个实用的C++项目构建与跨平台编译配置教程,带你从零开始使用CMake。
一个典型的CMake项目目录结构如下:
my_project/这个结构将源码(src)、头文件(include)和构建配置(CMakeLists.txt)分离,便于维护。
在项目根目录创建 CMakeLists.txt,内容如下:
cmake_minimum_required(VERSION 3.10)set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(${PROJECT_NAME}
src/main.cpp
)
target_include_directories(${PROJECT_NAME} PRIVATE include)
说明:
include/my_header.h:
#ifndef MY_HEADER_Hvoid say_hello();
src/main.cpp:
#include iostream>void say_hello() {
std::cout
}
int main() {
say_hello();
return 0;
}
打开终端,进入项目根目录,执行以下命令:
mkdir build解释:
构建成功后,可在build目录下找到生成的可执行文件(如
MyProject或MyProject.exe)。
CMake本身是跨平台的,但需注意以下几点:
假设你有一个第三方库 libmath.a 和对应的头文件:
# 在CMakeLists.txt中添加target_link_libraries(${PROJECT_NAME} math)
对于常用库(如Boost、OpenCV),可使用 find_package() 自动查找。
基本上就这些。掌握以上内容后,你已经可以用CMake高效管理中小型C++项目,并轻松实现跨平台编译。随着项目变大,可以进一步学习子目录CMakeLists.txt、函数封装、编译选项控制等高级特性。