温馨提示×

centos下c++怎样配置依赖

小樊
40
2026-10-05 22:56:26
栏目: 编程语言

在 CentOS 下配置 C++ 依赖,通常可以从系统包管理器、第三方工具链、构建系统三个层面来做。下面按常见场景给你一个实用指南。


一、使用系统包管理器(最常用)

1. 安装基础编译环境

sudo yum groupinstall "Development Tools"
# 或
sudo yum install gcc gcc-c++ make cmake

查看版本:

g++ --version
cmake --version

2. 安装常见 C++ 依赖库

例如:

sudo yum install boost-devel
sudo yum install openssl-devel
sudo yum install zlib-devel
sudo yum install libpqxx-devel
sudo yum install sqlite-devel

CentOS 7 默认仓库较旧,很多库版本偏低。


二、使用第三方仓库(推荐)

1. EPEL(扩展包)

sudo yum install epel-release

2. 使用较新 GCC(如 GCC 9/11)

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

或长期生效:

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

三、使用包管理工具(现代 C++ 推荐)

1. vcpkg(跨平台)

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

安装依赖:

./vcpkg install fmt boost-asio

CMake 中使用:

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

2. Conan(C++ 包管理器)

pip install conan

示例:

conan install . --build=missing

conanfile.txt:

[requires]
boost/1.82.0
fmt/10.0.0

[generators]
cmake

四、使用 CMake 管理依赖(最常见)

示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(Boost REQUIRED)
find_package(OpenSSL REQUIRED)

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

编译:

mkdir build && cd build
cmake ..
make

五、从源码编译依赖(版本要求高时)

wget https://example.com/libfoo.tar.gz
tar -xzf libfoo.tar.gz
cd libfoo
mkdir build && cd build
cmake ..
make
sudo make install

六、常见问题

1. 找不到头文件

sudo yum install xxx-devel

2. 链接错误

-lboost_system -lpthread

3. CentOS 7 太旧

建议:

  • 使用 devtoolset
  • 或直接用 CentOS Stream / Rocky / AlmaLinux

七、推荐组合(实战)

✅ CentOS 7 + devtoolset-11 + CMake + vcpkg
✅ CentOS Stream + system packages + Conan


如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 用的构建系统(Make / CMake)
  • 具体依赖(如 Boost、OpenCV、gRPC)

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

0 踩