在 CentOS 上编译 C++ 程序,通常有以下几种常见方式,最常用的是 g++。下面按步骤说明。
先检查是否已有 g++:
g++ --version
如果显示版本号(如 g++ (GCC) 8.x),说明已安装,可直接跳到 第三步。
sudo yum install gcc gcc-c++ -y
sudo dnf install gcc gcc-c++ -y
安装完成后验证:
g++ --version
创建一个示例文件:
vi hello.cpp
内容示例:
#include <iostream>
using namespace std;
int main() {
cout << "Hello CentOS C++" << endl;
return 0;
}
g++ hello.cpp
默认生成可执行文件:
./a.out
g++ hello.cpp -o hello
./hello
g++ -g hello.cpp -o hello
用于 gdb 调试。
g++ -O2 hello.cpp -o hello
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
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
如果你愿意,可以告诉我:
我可以给你更具体的编译方案。