温馨提示×

Ubuntu下C++如何编译

小樊
46
2026-07-06 21:43:39
栏目: 编程语言

在 Ubuntu 下编译 C++ 程序,常用方法是使用 g++(GNU 编译器)。下面从基础到进阶给你一个完整说明。


一、安装编译环境

1️⃣ 安装 g++

大多数 Ubuntu 已经自带,如果没有,执行:

sudo apt update
sudo apt install g++

查看版本(确认安装成功):

g++ --version

二、编写一个简单的 C++ 程序

创建文件 hello.cpp

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, Ubuntu!" << endl;
    return 0;
}

三、基本编译方式

✅ 编译并生成可执行文件

g++ hello.cpp -o hello
  • hello.cpp:源文件
  • -o hello:指定输出文件名(如果不写,默认是 a.out

运行:

./hello

四、常用的编译参数

1️⃣ 开启警告(强烈推荐

g++ -Wall hello.cpp -o hello

2️⃣ 开启 C++ 标准(如 C++11 / C++17 / C++20)

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

3️⃣ 调试版本(用于 gdb)

g++ -g hello.cpp -o hello

4️⃣ 优化版本

g++ -O2 hello.cpp -o hello

五、多文件编译

示例文件结构

main.cpp
math_utils.cpp
math_utils.h

编译方式一(简单)

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

编译方式二(分步编译,推荐大型项目)

g++ -c math_utils.cpp    # 生成 math_utils.o
g++ -c main.cpp          # 生成 main.o
g++ main.o math_utils.o -o app

六、使用 Makefile(进阶)

Makefile 示例:

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

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

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

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

clean:
	rm -f *.o app

使用:

make
./app
make clean

七、使用 CMake(工程级推荐)

示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(MyApp)

set(CMAKE_CXX_STANDARD 17)

add_executable(app main.cpp math_utils.cpp)

编译步骤

mkdir build
cd build
cmake ..
make
./app

八、常见问题

❓ 找不到 iostream / 编译报错

确保你用的是 g++,而不是 gcc:

g++ test.cpp

❓ 提示权限不足

chmod +x hello

九、总结(最常用命令)

sudo apt install g++
g++ -std=c++17 -Wall hello.cpp -o hello
./hello

如果你愿意,我可以:

  • ✅ 教你 从零搭建 C++ 开发环境(VS Code + Ubuntu)
  • ✅ 讲 g++ 与 gcc 的区别
  • ✅ 结合 实际项目结构 给你定制编译方案

你现在是 学习 C++,还是 在写具体项目

0