在 CentOS 上做 C++ 配置/编译 时常见的报错原因和解决办法如下,你可以对照看看是哪一种情况。
g++: command not found原因:没装 C++ 编译器
解决:
sudo yum install -y gcc-c++
验证:
g++ --version
fatal error: xxx.h: No such file or directory原因:缺少开发头文件
解决(举例):
sudo yum install -y glibc-devel
如果是第三方库(如 OpenSSL、Boost):
sudo yum install -y openssl-devel boost-devel
cannot find -lxxx原因:链接的库没装或路径不对
解决:
sudo yum install -y xxx-devel
例如:
sudo yum install -y libpqxx-devel
编译时指定路径:
g++ main.cpp -L/usr/local/lib -lxxx
GLIBCXX_3.4.xx not found原因:CentOS 自带 gcc 太老
解决:
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-9
scl enable devtoolset-9 bash
或长期生效:
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
常见错误:
Could NOT find XXXC++ standard not supported解决:
sudo yum install -y cmake3
指定 C++ 标准:
set(CMAKE_CXX_STANDARD 17)
Permission denied
解决:
chmod +x configure
sudo ./configure
make 2>&1 | tee build.log
cat /etc/redhat-release
gcc --version
请告诉我:
我可以直接给你 可执行的命令方案。