最近在项目中使用rabbitMQ,在引入编译生成的libamqpcpp.so库文件,由于各个文件夹之间需要使用静态库进行连接,所以在引入libamqpcpp.so基础上再进行了一次.a文件生成。编译执行文件在实际使用中却产生连接错误,提示pthread_creat无法找到。但是通过排查,代码均为单线程处理,且考虑后期业务处理,在编译脚本也引入了-pthread。翻阅网上资料,大多提示此错误也均为未引入-pthread。

最后确认确实是libamqpcpp.so库报上来的错误,也就是说,是libamqpcpp.so文件本身有问题。但是代码也是从github上直接down下来的,不应该出现这类问题才对。后来将代码剥离开单独编译,最后终于发现了问题。

image

原来是库的引入顺序问题,也是算疏忽吧,最后修改了编译脚本,顺利连接了各个库文件。