应用程序因“符号 _ZdlPvm,版本 Qt_5 未在文件 libQt5Core.so.5 中定义,链接时间参考”而崩溃

aar*_*ich 11 c++ qt

我有以下情况:我需要在 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
Run Code Online (Sandbox Code Playgroud)

如果我在我自己的本地计算机上对程序执行相同的事务,它就可以正常工作。

在我看来,这不像是由我的代码引起的错误,而是由链接和/或编译过程引起的。

谁能告诉我这意味着什么 o 我如何诊断问题?

Mar*_*ski 11

我在 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。