温馨提示×

CentOS下C++编译如何设置

小樊
42
2026-08-04 00:38:03
栏目: 编程语言

CentOS 下编译 C++ 程序,常见做法如下(从基础到进阶):


一、确认是否已安装编译环境

1️⃣ 查看是否安装 g++

g++ --version

如果提示 command not found,需要先安装。


二、安装 C++ 编译环境

✅ CentOS 7 / 8 / Stream 通用方式

方法一:安装开发工具组(推荐)

sudo yum groupinstall "Development Tools"

该命令会安装:

  • gcc
  • g++
  • make
  • binutils
  • 等常用开发工具

方法二:单独安装 g++

sudo yum install gcc gcc-c++

三、编写 C++ 程序

示例:hello.cpp

#include <iostream>
using namespace std;

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

四、使用 g++ 编译

1️⃣ 基本编译

g++ hello.cpp

生成默认可执行文件:

./a.out

2️⃣ 指定输出文件名

g++ hello.cpp -o hello
./hello

五、常用编译参数设置

✅ 开启调试信息(GDB)

g++ -g hello.cpp -o hello

✅ 开启警告

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

✅ 指定 C++ 标准

g++ -std=c++11 hello.cpp -o hello
g++ -std=c++17 hello.cpp -o hello

✅ 优化编译

g++ -O2 hello.cpp -o hello

六、多文件编译示例

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

或分步编译:

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

七、使用 Makefile(进阶)

Makefile 示例:

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

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

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

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

clean:
	rm -f *.o app

使用:

make
./app
make clean

八、常见问题

❓ CentOS 7 默认 gcc 版本太旧?

可升级到 gcc 7/8/9:

sudo yum install centos-release-scl
sudo yum install devtoolset-9
scl enable devtoolset-9 bash

❓ 找不到头文件?

确认安装:

sudo yum install glibc-devel

❓ 编译 C++ 还是 C?

  • gcc:偏向 C
  • g++C++ 推荐

如果你有具体需求(如 CMake、CLion、动态库、交叉编译、CentOS 版本),可以告诉我,我可以给你更详细的配置方案。

0