温馨提示×

Linux C++怎么配置编译

小樊
39
2026-08-16 00:25:41
栏目: 编程语言

在 Linux 下配置和编译 C++ 程序,常见流程如下(从最基础工程化逐步升级)。


一、最基础:直接用 g++ 编译

1️⃣ 安装编译工具

sudo apt update
sudo apt install g++ make

检查版本:

g++ --version

2️⃣ 写一个简单的 C++ 程序

// main.cpp
#include <iostream>

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

3️⃣ 编译并运行

g++ main.cpp -o main
./main

✅ 编译成功会生成可执行文件 main


二、常用 g++ 编译参数

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

说明:

  • -std=c++17:使用 C++17 标准
  • -Wall -Wextra:开启常见警告
  • -O2:优化级别

三、多文件编译

g++ -std=c++17 main.cpp utils.cpp -o app

或使用分步编译(推荐):

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

四、使用 Makefile(入门工程化)

示例 Makefile

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

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
make clean

五、使用 CMake(推荐,现代 C++ 项目)

1️⃣ 安装 CMake

sudo apt install cmake

2️⃣ 项目结构

project/
├── CMakeLists.txt
├── main.cpp
└── utils.cpp

3️⃣ CMakeLists.txt 示例

cmake_minimum_required(VERSION 3.10)
project(MyApp)

set(CMAKE_CXX_STANDARD 17)

add_executable(myapp main.cpp utils.cpp)

4️⃣ 编译流程

mkdir build
cd build
cmake ..
make
./myapp

✅ 这是最推荐的方式(跨平台、可扩展)


六、使用第三方库(举例)

安装库

sudo apt install libopencv-dev

编译时链接

g++ main.cpp -o app `pkg-config --cflags --libs opencv4`

或 CMake:

find_package(OpenCV REQUIRED)
target_link_libraries(myapp OpenCV::OpenCV)

七、常见错误排查

g++: command not found

sudo apt install g++

undefined reference

  • 忘记链接 .cpp
  • 忘记加 -lxxx

❌ 头文件找不到

-I/path/to/include

八、推荐学习路线

✅ 新手
g++ → Makefile → CMake

✅ 中级
CMake + 第三方库 + 调试(gdb)

✅ 高级
交叉编译 / 构建系统 / Conan / vcpkg


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

  • 你用的是 Ubuntu / CentOS / Arch
  • 单文件练习 还是 大型项目
  • 是否使用 第三方库(如 OpenCV、Boost)

我可以给你完全针对你环境的配置方案

0