温馨提示×

CentOS C++编译如何设置

小樊
52
2026-08-30 02:23:54
栏目: 编程语言

在 CentOS 上编译 C++ 程序,通常选择 g++(GCC) 或 Clang。下面按常见场景给你一个完整说明。


一、安装 C++ 编译环境

1️⃣ 安装 GCC(最常用)

sudo yum install -y gcc gcc-c++

验证版本:

g++ --version

CentOS 7 默认是 g++ 4.8
CentOS 8 / Stream 可用 AppStream 或 devtoolset 升级


2️⃣(可选)安装更高版本 GCC(推荐)

CentOS 7 安装 GCC 7/8/9/11

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

永久生效(写入 ~/.bashrc):

source /opt/rh/devtoolset-11/enable

3️⃣(可选)安装 Clang

sudo yum install -y clang

验证:

clang++ --version

二、编译 C++ 程序

1️⃣ 示例程序

// main.cpp
#include <iostream>

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

2️⃣ 基本编译命令

g++ main.cpp -o main

运行:

./main

三、常用编译参数设置

✅ 指定 C++ 标准

g++ -std=c++11 main.cpp -o main
g++ -std=c++17 main.cpp -o main
g++ -std=c++20 main.cpp -o main

✅ 开启调试信息(GDB)

g++ -g main.cpp -o main

✅ 开启优化

g++ -O2 main.cpp -o main

或

g++ -O3 main.cpp -o main

✅ 显示所有警告

g++ -Wall -Wextra main.cpp -o main

✅ 综合推荐参数

g++ -std=c++17 -O2 -Wall -Wextra -g main.cpp -o main

四、多文件编译

g++ main.cpp utils.cpp -o app

或分步编译:

g++ -c main.cpp
g++ -c utils.cpp
g++ main.o utils.o -o app

五、使用 Makefile(推荐)

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

app: main.o utils.o
	$(CXX) main.o utils.o -o app

main.o: main.cpp
	$(CXX) $(CXXFLAGS) -c main.cpp

utils.o: utils.cpp
	$(CXX) $(CXXFLAGS) -c utils.cpp

clean:
	rm -f *.o app

使用:

make
./app

六、常见问题

❓ 提示 g++: command not found

sudo yum install gcc-c++

❓ CentOS 7 不支持 C++17/20

使用 devtoolset-11 或更新系统


❓ 链接第三方库(如 pthread)

g++ main.cpp -o main -lpthread

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ C++ 项目类型(单文件 / 多文件 / CMake / 大型工程)
  • ✅ 是否需要调试、优化、交叉编译

我可以给你更精确的配置方案。

0 踩