在 CentOS 上解决 C++ 依赖,通常可以从下面几个层面来做,按常见程度从高到低:
sudo yum groupinstall "Development Tools"
或(CentOS 8+):
sudo dnf groupinstall "Development Tools"
包含:gcc, g++, make, autoconf 等
例如:
sudo yum install gcc-c++ cmake boost-devel openssl-devel
常见库对照:
| 功能 | 包名 |
|---|---|
| STL 扩展 | libstdc++-devel |
| Boost | boost-devel |
| SSL | openssl-devel |
| 数据库 | mysql-devel / postgresql-devel |
| 压缩 | zlib-devel |
find_package(Boost REQUIRED)
find_package(OpenSSL REQUIRED)
target_link_libraries(app
Boost::boost
OpenSSL::SSL
)
然后:
mkdir build && cd build
cmake ..
make
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
dnfgit clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install fmt
pip install conan
conan install .
fatal error: xxx.h: No such file or directory
✅ 安装 -devel 包
undefined reference to ...
✅ 加 -lxxx 或 target_link_libraries
✅ 优先 yum/dnf
✅ 新项目用 CMake
✅ 复杂依赖用 vcpkg / Conan
如果你有具体报错或某个库装不上,可以直接贴出来,我可以一步步帮你解决。