在 CentOS 上“找不到 C++ 库”通常是下面几类原因导致的,我按最常见 → 较少见给你梳理一下,并给出对应解决办法。
CentOS 默认只装 C 编译器(gcc),不一定装 g++ 和 C++ 标准库。
g++ --version
如果提示:
command not found
说明 没有安装 C++ 编译器。
sudo yum install -y gcc-c++
安装完成后:
g++ --version
libstdc++.so(C++ 标准库)如果你编译时报类似:
/usr/bin/ld: cannot find -lstdc++
libstdc++sudo yum install -y libstdc++
查看库是否存在:
ls /usr/lib64/libstdc++.so*
例如:
gcc 4.8C++11 / C++14 / C++17#include <filesystem>
报错找不到头文件
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
scl enable devtoolset-11 bash
-lstdc++如果你用 gcc 而不是 g++ 编译 C++:
❌ 错误:
gcc main.cpp
✅ 正确:
g++ main.cpp
或显式链接:
gcc main.cpp -lstdc++ -o main
如果你自己装了第三方 C++ 库:
cannot find -lxxx
g++ main.cpp -L/your/lib/path -lxxx
或:
export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_PATH
例如程序是 32 位,但系统是 64 位。
file your_program
安装 32 位库:
sudo yum install -y glibc-devel.i686 libstdc++.i686
Minimal 安装几乎什么都没带。
✅ 建议直接装开发工具组:
sudo yum groupinstall -y "Development Tools"
g++ --version
ls /usr/lib64/libstdc++.so*
rpm -qa | grep gcc-c++
如果你愿意,可以把具体报错信息贴出来(编译命令 + 错误信息),我可以直接帮你定位是哪一类问题。