温馨提示×

Linux C++配置要注意啥

小樊
39
2026-07-17 04:57:59
栏目: 编程语言

在 Linux 下用 C++ 开发时,配置环境、编译、调试等都有些容易踩坑的地方。下面按常见关注点给你一个比较实用的清单,适合从入门到工程级。


一、编译器选择

推荐:GCC 或 Clang

  • GCC(最常用)

    sudo apt install build-essential
    

    包含 gcc、g++、make

  • Clang(错误提示友好)

    sudo apt install clang
    

检查版本:

g++ --version
clang++ --version

⚠️ 注意:

  • gccg++
  • 编译 C++ 一定要用 g++ / clang++

二、C++ 标准设置(非常重要)

不要依赖默认标准。

g++ -std=c++17 main.cpp

常见标准:

  • -std=c++11
  • -std=c++17(✅ 推荐)
  • -std=c++20(新项目)

⚠️ 不同编译器对 C++20 支持程度不同。


三、常用编译参数(强烈建议)

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

解释:

  • -Wall -Wextra:打开警告
  • -Werror:警告当错误处理
  • -O2:优化(发布时)
  • -g:生成调试信息(调试时)

开发期

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

发布期

g++ -std=c++17 -O2 main.cpp

四、头文件 & 库路径问题

1️⃣ 头文件找不到

#include <opencv2/opencv.hpp> // 报错

解决:

g++ -I/usr/include/opencv4 main.cpp

2️⃣ 库文件找不到

g++ -L/usr/lib/x86_64-linux-gnu -lopencv_core main.cpp

⚠️ 顺序很重要:

g++ main.cpp -lopencv_core  ✅
g++ -lopencv_core main.cpp  ❌

五、动态库 & 静态库

动态库(推荐)

g++ -shared -fPIC xxx.cpp -o libxxx.so

运行时:

export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH

静态库

ar rcs libxxx.a xxx.o

六、Linux 特有注意点

1️⃣ 文件大小写敏感

#include "Test.h"   // Test.h ≠ test.h

2️⃣ 路径分隔符

/
\

3️⃣ 可执行权限

chmod +x a.out
./a.out

七、构建工具(项目变大后必用)

✅ Makefile(基础)

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

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

✅ CMake(强烈推荐)

cmake_minimum_required(VERSION 3.10)
project(demo)

set(CMAKE_CXX_STANDARD 17)

add_executable(demo main.cpp)

构建:

mkdir build && cd build
cmake ..
make

八、调试工具

GDB(必会)

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

常用:

run
break main
next
print x

Valgrind(内存检查)

valgrind ./main

九、常见坑总结

❌ 用 gcc 编译 C++
❌ 忘记 -std=c++17
❌ 没加 -Wall
❌ 库顺序写反
❌ 动态库运行时找不到
❌ Windows 代码直接搬 Linux


十、推荐开发环境

  • 编辑器:VS Code / CLion / Vim
  • VS Code 插件
    • C/C++
    • CMake Tools
  • 系统:Ubuntu / Debian / WSL2

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

  • ✅ 是 新手 / 学生 / 工程开发
  • ✅ 是否用 CMake / 第三方库(OpenCV、Boost、Qt)
  • ✅ 是 服务器 / 桌面 / 嵌入式

我可以给你一套更具体的 Linux C++ 配置模板

0