温馨提示×

Ubuntu C++配置要注意啥

小樊
36
2026-09-29 12:22:44
栏目: 编程语言

在 Ubuntu 上进行 C++ 开发/配置,常见需要注意的点可以分成 环境配置、编译工具、依赖管理、调试与工程化 几块。下面给你一个实用清单:


一、基础编译环境

1. 安装编译器

Ubuntu 默认可能没有 g++:

sudo apt update
sudo apt install build-essential

包含:

  • gcc / g++
  • make
  • 基础 C/C++ 库

检查版本:

g++ --version

二、C++ 标准版本

Ubuntu 上的 g++ 默认标准可能不是最新的(如 C++17/20)。

编译时显式指定:

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

常见标准:

  • -std=c++11
  • -std=c++17
  • -std=c++20

三、头文件与链接库

1. 系统库

通过 apt 安装:

sudo apt install libxxx-dev

⚠️ 注意:

  • 运行库:libxxx
  • 开发库(头文件):libxxx-dev

2. 链接第三方库

例如使用 pthread:

g++ main.cpp -lpthread

用 pkg-config 更规范:

g++ main.cpp $(pkg-config --cflags --libs opencv4)

四、CMake 工程(推荐)

1. 安装 CMake

sudo apt install cmake

2. 基本 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(demo)

set(CMAKE_CXX_STANDARD 17)

add_executable(demo main.cpp)

3. 编译流程

mkdir build
cd build
cmake ..
make

五、调试与工具

1. GDB

sudo apt install gdb
gdb ./main

2. 静态检查 / 格式化

  • clang-format
  • clang-tidy
  • cppcheck
sudo apt install clang-format clang-tidy

六、常见坑

❗ 1. 找不到头文件

  • 确认安装了 -dev 包
  • 检查 -I 路径

❗ 2. 链接错误(undefined reference)

  • 库顺序问题(被依赖的库放后面)
  • 忘记 -lxxx

❗ 3. glibc / ABI 问题

Ubuntu 版本不同,glibc 版本不同,跨机器运行要注意兼容性。

❗ 4. 权限问题

  • 可执行文件需 chmod +x
  • 不要用 root 跑普通程序

七、IDE / 编辑器推荐

  • VS Code + C++ 插件 + CMake Tools
  • CLion(商业)
  • Vim / Neovim + clangd

八、进阶建议

  • 使用 conan / vcpkg 管理依赖
  • 使用 ccache 加速编译
  • 使用 sanitizer:
g++ main.cpp -fsanitize=address -g

如果你有具体场景(比如:Ubuntu 22.04 + CMake + OpenCV,或者 嵌入式 / 服务器程序),我可以给你更针对性的配置示例。

0 踩