温馨提示×

C++项目在CentOS如何构建

小樊
39
2026-08-18 22:56:53
栏目: 编程语言

CentOS 上构建 C++ 项目,常见流程如下(从最基础到常见工程化方式):


一、准备构建环境

1. 安装编译工具链

sudo yum groupinstall -y "Development Tools"

或(CentOS 8+ / Rocky / Alma):

sudo dnf groupinstall -y "Development Tools"

包含:

  • gcc
  • g++
  • make
  • ld
  • 常用头文件

2. 检查 g++ 是否可用

g++ --version

二、最简单方式:直接编译

示例 main.cpp

#include <iostream>

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

编译

g++ main.cpp -o app

运行

./app

三、多文件项目(手写 Makefile)

示例结构

project/
├── main.cpp
├── foo.cpp
├── foo.h
└── Makefile

Makefile 示例

CXX = g++
CXXFLAGS = -Wall -std=c++17

TARGET = app
SRCS = main.cpp foo.cpp
OBJS = $(SRCS:.cpp=.o)

$(TARGET): $(OBJS)
	$(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS)

%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS) $(TARGET)

构建

make
./app

四、使用 CMake(推荐)

1. 安装 CMake

sudo yum install -y cmake
# 或
sudo dnf install -y cmake

2. 项目结构

project/
├── CMakeLists.txt
├── main.cpp
├── foo.cpp
└── foo.h

3. CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(MyApp)

set(CMAKE_CXX_STANDARD 17)

add_executable(app
    main.cpp
    foo.cpp
)

4. 构建步骤

mkdir build
cd build
cmake ..
make

5. 运行

./app

五、使用第三方库(如 OpenSSL、Boost)

安装库

sudo yum install -y openssl-devel
sudo yum install -y boost-devel

CMake 示例(OpenSSL)

find_package(OpenSSL REQUIRED)
target_link_libraries(app OpenSSL::SSL)

六、常见问题

1. gcc/g++ 版本太旧

CentOS 7 默认 gcc 4.8,建议升级:

sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
scl enable devtoolset-11 bash

2. 找不到头文件

确认 -devel 包已安装:

rpm -qa | grep xxx-devel

3. 权限问题

chmod +x app

七、总结(推荐路线)

场景 推荐方式
单文件 g++
小型项目 Makefile
中大型项目 CMake
需要 CI / 跨平台 CMake

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

  • CentOS 版本(7 / 8 / Stream)
  • 项目规模(单文件 / 多模块 / 库)
  • 是否使用第三方库

我可以给你 完全贴合你项目的构建方案

0