你这个问题比较宽泛,我先按**“在 CentOS 上遇到的 C++ 兼容性问题”**来系统讲一下常见原因和解决办法。如果你有具体报错,可以贴出来,我可以针对性分析。
CentOS(尤其是 7)默认:
现象
/lib64/libc.so.6: version `GLIBC_2.25' not found
/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
解决办法 ✅ 方案 A:在 CentOS 上编译(推荐)
yum install gcc gcc-c++
或升级 devtoolset:
yum install centos-release-scl
yum install devtoolset-11
scl enable devtoolset-11 bash
✅ 方案 B:静态链接(不推荐但有效)
g++ main.cpp -static
✅ 方案 C:低版本编译
g++ -std=c++11 main.cpp
CentOS 7 默认不支持 C++17 / C++20。
现象
std::filesystem::path p;
报错或不识别。
解决
g++ -std=c++17 main.cpp
比如:
解决
例如:
解决
g++ main.cpp -I/usr/local/include -L/usr/local/lib -lxxx
建议
GLIBC / CXXABIg++ --version
ldd --version
ldd your_program
我可以帮你:
如果你愿意,直接贴:
我可以直接给你精准解决方案。