在 Linux 下做 C++ 项目的自动化配置(通常指:环境依赖、编译、构建、测试、部署等),一般可以按下面几个层次来做。我从「最常用方案」到「进阶自动化」给你一个清晰路线。
适合中大型 C++ 项目,跨平台。
示例:
cmake_minimum_required(VERSION 3.10)
project(demo)
set(CMAKE_CXX_STANDARD 17)
add_executable(demo main.cpp)
自动化流程:
mkdir build && cd build
cmake ..
make
✅ 优点
适合小项目。
CXX = g++
CXXFLAGS = -std=c++17 -Wall
demo: main.cpp
$(CXX) $(CXXFLAGS) main.cpp -o demo
make
sudo apt install libboost-dev
Conan 示例:
conan install . --build=missing
CMake 可自动读取 Conan 配置。
#!/bin/bash
sudo apt update
sudo apt install -y build-essential cmake g++
chmod +x setup.sh
./setup.sh
- apt:
name: [build-essential, cmake]
state: present
enable_testing()
add_test(NAME demo_test COMMAND demo)
ctest
推荐 GitHub Actions
name: C++ CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: build
run: |
cmake -B build
cmake --build build
✅ 每次 push 自动编译 + 测试
现代 C++ 项目标准配置:
CMake + Conan + CTest + GitHub Actions
流程:
代码 push
→ CI 拉环境
→ 装依赖
→ 编译
→ 跑测试
→ 生成产物
我可以直接帮你写:
✅ CMake
✅ Conan 配置
✅ CI 脚本
✅ 一键环境脚本