“自动化 Linux 下 C++ 配置”通常指自动化地完成环境准备、依赖安装、编译配置、构建与部署。下面按常见场景 + 工具方案给你一套可落地的思路。
适合:新机器初始化
#!/usr/bin/env bash
set -e
sudo apt update
sudo apt install -y \
build-essential \
cmake \
gdb \
clang \
libboost-all-dev
使用:
chmod +x setup.sh
./setup.sh
cmake_minimum_required(VERSION 3.16)
project(demo CXX)
set(CMAKE_CXX_STANDARD 17)
find_package(Boost REQUIRED)
add_executable(app main.cpp)
target_link_libraries(app Boost::boost)
构建:
mkdir build && cd build
cmake ..
make
apt / yum / dnf
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt
CMake 集成:
set(CMAKE_TOOLCHAIN_FILE ../vcpkg/scripts/buildsystems/vcpkg.cmake)
CXX = g++
CXXFLAGS = -std=c++17 -O2
app: main.cpp
$(CXX) $(CXXFLAGS) main.cpp -o app
cmake -GNinja ..
ninja
#!/usr/bin/env bash
set -e
# 安装依赖
sudo apt install -y cmake g++
# 构建
mkdir -p build
cd build
cmake ..
make
# 运行
./app
name: C++ Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install deps
run: sudo apt install -y cmake g++
- name: Build
run: |
mkdir build && cd build
cmake ..
make
FROM ubuntu:22.04
RUN apt update && apt install -y cmake g++
COPY . /app
WORKDIR /app/build
RUN cmake .. && make
docker build -t cpp-app .
| 需求 | 工具 |
|---|---|
| 多平台 | CMake + Conan |
| 大型项目 | Bazel |
| 依赖隔离 | Docker / Nix |
| 自动格式化 | clang-format + pre-commit |
✅ 入门 / 中小项目
Shell + CMake + Make/Ninja
✅ 团队协作
CMake + vcpkg + GitHub Actions
✅ 生产级
Docker + CMake + CI
如果你能告诉我:
我可以直接给你一套可复制的完整模板。