问题出现场景: 客户机上使用qt4.8.7编译生成的应用程序(客户机上正常运行),放到服务器上运行提示undefined symbol: _Z34QBasicAtomicInt_fetchAndAddOrderedPVii
排查方法: 网上搜索,提示是因为程序需要的qt动态库版本不一致造成的,主要是qtcore、qtgui、qtnetwork相关的库版本不一致
解决方法: 从编译程序的客户机中(/usr/lib64中拷贝
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)
到服务器上应用程序目录中,重新运行程序,程序正常运行。
也可在服务器上安装程序的编译环境,安装后程序也能正常运行。
上述动态库xxso. 4、xxso.4.8、xxso. 4.8.7都需要拷贝到服务机运行环境中,缺少一个程序都不能正常运行。
该问题和之前程序运行乱码问题(2021-03-17问题)比较像,需要使用程序配套的动态库才能正常运行,显示中文。
可参考文章:https://answers.launchpad.net/ubuntu/+question/264632
2021-05-21 qt程序aas运行失败提示undefined symbol: _Z34QBasicAtomicInt_fetchAndAddOrderedPVii问题
最新推荐文章于 2024-06-24 11:48:02 发布