如何在Ubuntu中配置C++项目的构建系统
作者:归人云淡风轻
时间:2026-07-19
浏览:5
在Ubuntu中配置C++构建系统主要有Makefile、CMake和Meson三种方案。Makefile适合小项目,CMake是大型项目跨平台首选,Meson以简洁声明式和快速编译见长。建议根据项目规模灵活选择,CMake平衡性最佳。
本文目录
在Ubuntu上搭建C++项目的构建系统,其实有不少成熟的选择。Makefile、CMake、Meson这三者可以说是最主流的方案,各有各的适用场景。下面从实际配置步骤出发,逐一拆解,方便你快速上手。
使用Makefile
先搭好项目目录结构:
my_project/ ├── src/ │ └── main.cpp └── Makefile然后编写Makefile。这个文件里需要指定编译器、编译选项、源文件路径以及链接规则。一个典型的写法如下:
CXX = g++ CXXFLAGS = -Wall -std=c++17 TARGET = my_project SRC = $(wildcard src/*.cpp) OBJ = $(SRC:.cpp=.o) all: $(TARGET) $(TARGET): $(OBJ) $(CXX) $(CXXFLAGS) -o $@ $^ %.o: %.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ clean: rm -f $(OBJ) $(TARGET)构建只需一行命令:
make清理生成的文件:
make clean
使用CMake
CMake是跨平台项目里的常客,配置起来比Makefile更抽象,但管理复杂依赖时优势明显。
项目结构同样简洁:
my_project/ ├── src/ │ └── main.cpp └── CMakeLists.txt在CMakeLists.txt中声明项目信息和编译要求:
cmake_minimum_required(VERSION 3.10) project(MyProject) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(my_project src/main.cpp)创建一个独立的构建目录,避免污染源码:
mkdir build cd build用CMake生成Makefile:
cmake ..然后正常编译:
make清理也很简单:
make clean
使用Meson
Meson算是后起之秀,配置语法更现代,构建速度也快。如果你喜欢简洁的声明式配置,可以试试它。
项目结构:
my_project/ ├── src/ │ └── main.cpp └── meson.buildmeson.build 文件内容如下:
project('MyProject', 'cpp', version : '0.1', default_options : ['warning_level=3', 'cpp_std=c++17']) executable('my_project', 'src/main.cpp')同样创建构建目录:
mkdir build cd build配置项目:
meson ..Meson默认使用Ninja作为后端,构建命令是:
ninja清理:
ninja -C build clean
总结
- Makefile:小项目或者需要极致控制的手工选择,适合简单场景。
- CMake:大型项目的事实标准,跨平台支持出色,生态成熟。
- Meson:现代项目的新锐利器,配置直观,编译速度快。
没有绝对的最优解,主要看项目规模和团队习惯。对于大多数C++项目来说,CMake是平衡性和通用性最好的选择,值得优先考虑。
作者最新文章
coreldraw怎么插入图片 图片导入步骤
2026-10-27 15:37
coreldraw快捷键冲突 怎么改 自定义按键解决
2026-10-24 08:50
AO3中文界面设置指南与核心功能使用教程
2026-10-14 23:28
解决win10运行3DMAX自动重启的方法
2026-10-13 17:08
哔哩哔哩投稿封面上传失败怎么解决
2026-10-13 15:55
下一篇:
copidar与readdir区别在哪
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































