温馨提示×

ubuntu c++ cmake怎么配置

小樊
47
2026-09-17 13:32:53
栏目: 编程语言

下面给你一个从零开始的 Ubuntu + C++ + CMake 配置指南,涵盖安装、项目结构、CMakeLists.txt 写法以及常见用法。


一、安装必要工具

1. 更新系统

sudo apt update
sudo apt upgrade

2. 安装编译器和 CMake

sudo apt install build-essential cmake

检查是否安装成功:

gcc --version
g++ --version
cmake --version

二、最简单的 CMake 项目示例

1. 项目结构

my_project/
├── CMakeLists.txt
└── main.cpp

2. main.cpp

#include <iostream>

int main() {
    std::cout << "Hello CMake!" << std::endl;
    return 0;
}

3. CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(my_project)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(my_project main.cpp)

三、编译和运行

推荐方式(out-of-source build)

cd my_project
mkdir build
cd build
cmake ..
make
./my_project

四、多文件 / 多目录项目

项目结构

my_project/
├── CMakeLists.txt
├── main.cpp
├── math/
│   ├── add.cpp
│   └── add.h

math/add.h

#pragma once
int add(int a, int b);

math/add.cpp

#include "add.h"

int add(int a, int b) {
    return a + b;
}

main.cpp

#include <iostream>
#include "math/add.h"

int main() {
    std::cout << add(3, 4) << std::endl;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(my_project)

set(CMAKE_CXX_STANDARD 17)

add_executable(my_project
    main.cpp
    math/add.cpp
)

target_include_directories(my_project PRIVATE math)

五、使用静态库 / 动态库(推荐方式)

1. 生成库

add_library(math_lib STATIC math/add.cpp)
target_include_directories(math_lib PUBLIC math)

2. 链接库

add_executable(my_project main.cpp)
target_link_libraries(my_project PRIVATE math_lib)

六、常用 CMake 配置选项

Debug / Release

cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake -DCMAKE_BUILD_TYPE=Release ..

指定编译器

export CC=gcc
export CXX=g++

显示详细编译命令

make VERBOSE=1

七、常见错误排查

问题 解决
cmake: command not found 未安装 cmake
找不到头文件 检查 target_include_directories
undefined reference 未链接库
C++17 不支持 set(CMAKE_CXX_STANDARD 17)

八、进阶(可选)

如果你需要:

  • ✅ 使用 第三方库(如 OpenCV / Boost)
  • CMake + vcpkg / conan
  • CLion / VS Code 配置
  • 交叉编译 / ARM

可以告诉我你的具体需求,我可以给你更针对性的配置示例。

需要我给你一个完整可运行的 GitHub 风格模板吗?

0