在 CentOS 中配置 C++ 开发库,通常分为 系统库 和 第三方库 两种情况。下面按常见使用场景给你一个清晰指南。
sudo yum install -y gcc gcc-c++
查看版本:
g++ --version
CentOS 7 默认是 g++ 4.8,较老;如需新版本可安装 devtoolset(见后文)。
sudo yum install -y boost boost-devel
编译时:
g++ main.cpp -o main -lboost_system
| 库名 | 安装命令 |
|---|---|
| OpenCV | yum install opencv opencv-devel |
| pthread | 默认自带(-lpthread) |
| math | 默认自带(-lm) |
| sqlite | yum install sqlite-devel |
以 CMake 项目 为例:
wget https://example.com/libxxx.tar.gz
tar -xzf libxxx.tar.gz
cd libxxx
mkdir build
cd build
cmake ..
make -j$(nproc)
sudo make install
默认安装路径:
/usr/local/include
/usr/local/lib
-I/usr/local/include
-L/usr/local/lib -lxxx
完整示例:
g++ main.cpp -I/usr/local/include -L/usr/local/lib -lxxx
sudo echo "/usr/local/lib" >> /etc/ld.so.conf
sudo ldconfig
cmake_minimum_required(VERSION 3.10)
project(demo)
find_package(Boost REQUIRED)
add_executable(demo main.cpp)
target_link_libraries(demo Boost::boost)
编译:
mkdir build && cd build
cmake ..
make
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
❌ cannot find -lxxx
✅ 没装 -devel 或 -L 路径错
❌ undefined reference
✅ 链接顺序错误(库放后面)
❌ 运行时 libxxx.so not found
✅ ldconfig 没执行
如果你有 具体的库名(如 OpenCV / Boost / Protobuf) 或 CentOS 版本(7 / 8 / Stream),我可以给你更精确的配置步骤。