温馨提示×

centos怎么编译c++程序

小樊
42
2026-08-19 00:15:55
栏目: 编程语言

CentOS 上编译 C++ 程序,通常有以下几种常见方式,最常用的是 g++。下面按步骤说明。


一、确认是否已安装 g++

先检查是否已有 g++:

g++ --version

如果显示版本号(如 g++ (GCC) 8.x),说明已安装,可直接跳到 第三步


二、安装 g++(如果没有)

CentOS 7

sudo yum install gcc gcc-c++ -y

CentOS 8 / Stream

sudo dnf install gcc gcc-c++ -y

安装完成后验证:

g++ --version

三、编写 C++ 程序

创建一个示例文件:

vi hello.cpp

内容示例:

#include <iostream>
using namespace std;

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

四、编译 C++ 程序

1️⃣ 基本编译

g++ hello.cpp

默认生成可执行文件:

./a.out

2️⃣ 指定输出文件名

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

3️⃣ 开启调试信息(推荐)

g++ -g hello.cpp -o hello

用于 gdb 调试。


4️⃣ 开启编译优化

g++ -O2 hello.cpp -o hello

5️⃣ 使用 C++11 / C++17

g++ -std=c++11 hello.cpp -o hello
g++ -std=c++17 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

六、常见问题

❌ 报错:g++: command not found

说明未安装 gcc-c++,回到 第二步 安装。

❌ 报错:undefined reference

一般是:

  • 忘记链接库
  • 编译顺序错误

例如使用数学库:

g++ test.cpp -lm

七、使用 Makefile(进阶)

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

main.o: main.cpp
	g++ -c main.cpp

func.o: func.cpp
	g++ -c func.cpp

clean:
	rm -f *.o app

使用:

make
./app

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

  • CentOS 版本(7 / 8 / Stream)
  • 是否使用 CMake
  • 是否涉及 第三方库(OpenCV、Boost 等)

我可以给你更具体的编译方案。

0