在 CentOS 下配置 C++ 依赖,通常可以从系统包管理器、第三方工具链、构建系统三个层面来做。下面按常见场景给你一个实用指南。
sudo yum groupinstall "Development Tools"
# 或
sudo yum install gcc gcc-c++ make cmake
查看版本:
g++ --version
cmake --version
例如:
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 默认仓库较旧,很多库版本偏低。
sudo yum install epel-release
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
或长期生效:
echo "source scl_source enable devtoolset-11" >> ~/.bashrc
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)
pip install conan
示例:
conan install . --build=missing
conanfile.txt:
[requires]
boost/1.82.0
fmt/10.0.0
[generators]
cmake
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
sudo yum install xxx-devel
-lboost_system -lpthread
建议:
devtoolset✅ CentOS 7 + devtoolset-11 + CMake + vcpkg
✅ CentOS Stream + system packages + Conan
如果你能告诉我:
我可以直接给你可复制的配置方案。