动态编译正常运行,静态编译后出现段错误
1、动态编译正常,如下图:
g++ SDAmqpev.cpp -lamqpcpp -std=c++11 -lev -lpthread -ldl
2、静态编译出现断段错误,如图:
g++ SDAmqpev.cpp -lamqpcpp -std=c++11 -lev -lpthread -ldl -static
3、GDB排查问题
看上图可知,thread库有问题了!
你可以不使用std:thread这个,改为其他,或者使用下面这个方式编译。
4、解决办法:编译条件加入这个**-Wl,–whole-archive -lpthread -Wl,–no