我在尝试部署使用Qt构建的新应用程序时遇到了严重的麻烦。当从Qt Creator启动时(所有版本:调试,配置文件,发行版),程序运行良好,但双击.exe启动时会崩溃。一个错误对话框弹出以下消息:不可能部署Qt应用程序
defaultTypeFor @ QTimer @@ CA AW4TimerType @ Qt的@@^h @ Z无法在动态链接库位于 C:?\用户\ SDT1 \ Documents \ Scanner \ Scanner_deploy \ Scanner.exe
我使用的是Qt 5.8.0,我正在用MSVC2015_64位构建项目。我使用windeployqt.exe从
C:\ Qt的\ 5.8 \ msvc2015_64 \ BIN
到dinamically链接Qt库。
自从我从旧的connect
语法(使用宏SIGNAL
和SLOT
)移至具有函数指针的新语法后,此问题开始发生。我也开始使用QTimer::singleShot
而不是QMetaObject::invokeMethod
,并不意外的是错误涉及到QTimer
。然而,这个程序在Qt Creator内运行得很好,我无法弄清楚问题所在,因为我使用windeployqt来获取正确的dll。
此外,为什么我的.exe在错误消息中被称为“dinamic链接库”?这是一个.exe!