在 CentOS 上处理 C++ 依赖,通常可以分为 系统级依赖 和 项目级依赖 两类。下面按常见场景给你一个实用指南。
sudo yum groupinstall "Development Tools"
# 或
sudo yum install gcc gcc-c++ make cmake
sudo yum install openssl-devel
sudo yum install boost-devel
sudo yum install zlib-devel
sudo yum install protobuf-devel
sudo yum install gtest-devel
-devel包包含头文件和链接库,是 C++ 编译必须的
yum search <关键字>
yum provides */libxxx.so
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt boost
CMake 中使用:
find_package(fmt CONFIG REQUIRED)
target_link_libraries(app PRIVATE fmt::fmt)
pip install conan
conan install . --build=missing
find_package(OpenSSL REQUIRED)
target_link_libraries(app PRIVATE OpenSSL::SSL)
cmake -DCMAKE_PREFIX_PATH=/usr/local ..
wget xxx.tar.gz
tar -xzf xxx.tar.gz
cd xxx
./configure
make
sudo make install
⚠ 注意:
/usr/localexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
ldd your_program
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
✅ 优先用 yum
✅ 复杂项目用 vcpkg / conan
✅ CMake + find_package
❌ 尽量避免手动 install
如果你有 具体项目 / 具体库 / 编译报错,可以把错误信息贴出来,我可以帮你精准分析。