在 CentOS 上排查 C++ 配置/编译/运行错误,一般可以按下面流程来做。
gcc --version
g++ --version
如果没装:
sudo yum install gcc gcc-c++
cat /etc/centos-release
uname -a
g++ -v main.cpp -o main
看清楚是哪一步报错(预处理 / 编译 / 链接)。
fatal error: xxx.h: No such file or directory
解决:
sudo yum install xxx-devel
例如:
sudo yum install openssl-devel
g++ -std=c++11 main.cpp
undefined reference to `xxx`
解决:
g++ main.cpp -lxxx
查看库是否存在:
ldconfig -p | grep xxx
g++ main.cpp -L/usr/local/lib -lxxx
更新动态库缓存:
sudo ldconfig
error while loading shared libraries: libxxx.so
解决:
ldd ./main
添加路径:
export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_PATH
gdb ./main
run
bt
安装 gdb:
sudo yum install gdb
cmake -DCMAKE_VERBOSE_MAKEFILE=ON .
make
set(CMAKE_CXX_STANDARD 11)
target_link_libraries(app pthread)
-std=c++11/14/17xxx-devel 已装-lxxx 正确ldd 无 missinggdb 可定位崩溃如果你能贴出 具体报错信息(编译 / 链接 / 运行),我可以直接帮你定位是哪一类配置问题。