温馨提示×

centos配置c++要注意什么

小樊
40
2026-09-18 03:51:21
栏目: 编程语言

CentOS 上配置 C++ 开发环境,有几个比较容易踩坑的地方。下面按安装、编译、运行、常见坑给你梳理一下。


一、安装 C++ 编译器(重点)

1. 使用官方源安装(最常见)

CentOS 默认可能没有 g++

sudo yum install gcc gcc-c++ make -y

验证:

g++ --version
gcc --version

⚠️ CentOS 7 默认是 gcc 4.8.5,对 C++11/14 支持不完整
⚠️ CentOS 8 已 EOL,建议用 Stream 或迁移到 Rocky/Alma


二、CentOS 版本与 C++ 标准支持

CentOS 7(非常常见)

  • gcc 4.8.5
  • 支持:C++11(部分)
  • ❌ 不支持:C++17/20 新特性

解决方案(推荐):

sudo yum install centos-release-scl -y
sudo yum install devtoolset-11 -y
scl enable devtoolset-11 bash

或使用:

  • devtoolset-9 / 10 / 11

⚠️ 注意:scl enable 只在当前 shell 生效


三、编译时的注意事项

1. 必须指定 C++ 标准

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

否则可能默认 C++98。


2. 链接问题(非常常见)

  • 用到 pthread
g++ main.cpp -pthread
  • 用到数学库
g++ main.cpp -lm
  • 用到第三方库(如 OpenCV、Boost)
g++ main.cpp `pkg-config --cflags --libs opencv4`

四、静态/动态库配置

1. 动态库找不到(非常常见)

运行时报:

error while loading shared libraries

解决:

export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_PATH

或:

sudo ldconfig

五、Makefile / CMake 建议

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

六、常见坑总结(重点)

CentOS 7 别用系统 gcc 写现代 C++
devtoolset 只在 shell 内生效
运行时库路径要配好
多线程一定要加 -pthread
yum 源可能失效(CentOS 8)


七、推荐组合(稳定方案)

系统 编译器
CentOS 7 devtoolset-11
CentOS Stream 9 gcc 11+
新项目 Rocky Linux / AlmaLinux

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

  • CentOS 版本(cat /etc/redhat-release
  • C++ 标准(11 / 17 / 20)
  • 是否用 CMake / Makefile
  • 是否涉及第三方库

我可以直接给你一套可复制的配置方案

0