编译报错:对‘QBasicAtomicInt_fetchAndAddOrdered(int volatile*, int)’未定义的引用
在.pro文件里去掉libQtCore.so.4、libQtGui.so.4、libQtNetwork.so.4的引用后
链接报错:undefined symbol: _Z34QBasicAtomicInt_fetchAndAddOrderedPVii
原因: 网上搜索,提示是因为程序需要的qt动态库版本不一致造成的,主要是qtcore、qtgui、qtnetwork相关的库版本不一致
解决方法: 从编译程序的客户机中拷贝
libQtCore.so.4,libQtCore.so.4.8,libQtCore.so.4.8.7;
libQtGui.so.4,libQtGui.so.4.8,libQtGui.so.4.8.7;
libQtNetwork.so.4,libQtNetwork.so.4.8,libQtNetwork.so.4.8.7)
覆盖到原来引用的qt库目录中,重新运行程序,程序正常运行。
上述动态库xxso. 4、xxso.4.8、xxso. 4.8.7都需要拷贝到服务机运行环境中,缺少一个程序都不能正常运行。
可参考文章:https://answers.launchpad.net/ubuntu/+question/264632
https://blog.csdn.net/weixin_44819948/article/details/117119245
备注:1、可以新建一个qt 工程,debug后使用模块视图查看libQtCore.so.4这几个库的路径,然后拷贝覆盖