温馨提示×

ubuntu c++怎样用cmake

小樊
45
2026-09-29 12:35:43
栏目: 编程语言

下面给你一个在 Ubuntu 上用 CMake 编译 C++ 程序的最实用入门教程,从安装到完整示例。


一、安装 CMake(Ubuntu)

sudo apt update
sudo apt install cmake g++ -y

查看版本:

cmake --version
g++ --version

二、最简单的 CMake 示例

1️⃣ 目录结构

hello_cmake/
├── 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(hello)

add_executable(hello main.cpp)

三、编译步骤(标准流程)

cd hello_cmake
mkdir build
cd build
cmake ..
make

运行:

./hello

✅ 输出:

Hello CMake!

四、常用 CMake 设置

1️⃣ 指定 C++ 标准

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

2️⃣ 开启编译警告

add_compile_options(-Wall -Wextra)

3️⃣ Debug / Release

cmake -DCMAKE_BUILD_TYPE=Debug ..
# 或
cmake -DCMAKE_BUILD_TYPE=Release ..

五、多文件 C++ 项目

目录结构

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

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(myproject)

set(CMAKE_CXX_STANDARD 17)

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

六、使用静态库 / 动态库

生成库

add_library(mymath STATIC math/add.cpp)

链接库

target_link_libraries(app mymath)

七、常用 CMake 命令总结

命令 作用
project() 项目名
add_executable() 生成可执行文件
add_library() 生成库
target_link_libraries() 链接库
include_directories() 头文件路径
target_include_directories() 推荐方式

八、推荐现代写法(更好)

target_include_directories(app PRIVATE math)

而不是:

include_directories(math)

九、你可能接下来想学

  • ✅ 引入第三方库(如 OpenCV / Boost)
  • ✅ find_package()
  • ✅ CMake + vcpkg
  • ✅ CMake + CLion / VS Code

如果你愿意,可以告诉我:

  • 你的 Ubuntu 版本
  • 是 单文件 / 多文件 / 库项目
  • 是否用 IDE

我可以直接给你一套适合你项目的 CMake 模板。

0 踩