我遇到以下情况:我需要让程序在 AWS EC2 服务器上运行。
程序是用Qt制作的。最近,我将亚马逊提供的程序和Qt版本更新到5.9.2。
我在我的一台计算机上开发程序,完成后,我将其复制到服务器。
我使用第二台计算机连接到服务器(我可以在连接到我旁边的计算机或 AWS 服务器之间切换)。
现在的问题是,当我进行其中一项交易时,AWS 服务器上的程序因以下错误而崩溃:
symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference
如果我在我自己的本地计算机上对程序执行相同的事务,它工作得很好。
在我看来,这不像是由我的代码引起的错误,而是由链接和/或编译过程引起的。
谁能告诉我这意味着什么或如何诊断问题?
最佳答案
我在使用 KDE Neon 的 Qt 5.11.2 时遇到了同样的问题。但是官方Qt 5.11.2 SDK没问题。
如果我将这个标志添加到项目中:QMAKE_CXXFLAGS += "-fno-sized-deallocation"
,一切都会再次起作用。
我相信,如果您将程序编译为 c++14 或更高版本,代码将尝试进行大小释放。因为使用 -std=c++11
编译不会导致此问题。
可能,来自 KDE Neon 的 Qt 被编译为 C++11。
关于c++ - 应用程序崩溃并显示 "symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53022608/