温馨提示×

centos中c++依赖如何配置

小樊
36
2026-09-24 06:30:14
栏目: 编程语言

在 CentOS 上配置 C++ 依赖,通常分为几类场景:系统自带库、第三方库(yum 安装)、源码编译库、包管理工具(vcpkg / conan)。下面按常见用法系统说明。


一、基础环境(必装)

1. 安装 GCC / G++

sudo yum install -y gcc gcc-c++

查看版本:

g++ --version

CentOS 7 默认 gcc 是 4.8,若需要 C++17/20,建议升级(见后文)


二、使用 yum 安装系统依赖(最常见)

示例:常见 C++ 依赖

sudo yum install -y \
  make \
  cmake \
  autoconf \
  automake \
  libtool \
  openssl-devel \
  zlib-devel \
  boost-devel \
  pthread-devel

常见库对照

功能 包名
OpenSSL openssl-devel
zlib zlib-devel
Boost boost-devel
MySQL mysql-devel
PostgreSQL postgresql-devel
JSON jsoncpp-devel
CURL libcurl-devel

注意:-devel 是开发头文件(C++ 必须)


三、使用 CMake 配置依赖(推荐)

示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(OpenSSL REQUIRED)
find_package(Boost REQUIRED)

add_executable(demo main.cpp)
target_link_libraries(demo OpenSSL::SSL Boost::boost)

编译

mkdir build && cd build
cmake ..
make

四、源码编译第三方库

示例:编译安装库

wget https://example.com/libfoo.tar.gz
tar -xzf libfoo.tar.gz
cd libfoo
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install

编译时指定路径

g++ main.cpp -I/usr/local/include -L/usr/local/lib -lfoo

或在 CMake 中:

include_directories(/usr/local/include)
link_directories(/usr/local/lib)

五、使用现代 C++ 包管理器(推荐)

1. vcpkg(跨平台)

git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt

CMake 集成:

set(CMAKE_TOOLCHAIN_FILE=/path/vcpkg/scripts/buildsystems/vcpkg.cmake)

2. Conan(专业 C++ 依赖管理)

pip install conan
conan install . --build=missing

六、升级 GCC(CentOS 7 常见需求)

使用 SCL

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

永久生效:

echo "source scl_source enable devtoolset-11" >> ~/.bashrc

七、常见问题排查

1. 找不到头文件

  • 确认安装了 -devel
  • 使用 rpm -ql 包名 查路径

2. 找不到库

ldconfig
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

3. 查看依赖

ldd your_binary

总结建议

  • ✅ 简单项目:yum + CMake
  • ✅ 多依赖:vcpkg / conan
  • ✅ 生产环境:固定版本 + 源码编译

如果你有具体依赖(如 Boost / gRPC / OpenCV)或CentOS 版本,我可以给你更精确的配置方案。

0 踩