我在部署Qt 5.3.1
应用程序时遇到问题。这是我的文件夹结构:
platforms\
qwindows.dll
qminimal.dll
libEGL.dll
sqldrivers\
qsqlite.dll
Qt5Widgets.dll
icuin52.dll
libwinpthread-1.dll
libgcc_s_dw2-1.dll
icuuc52.dll
Qt5Sql.dll
Qt5Core.dll
program.exe
libGLESv2.dll
Qt5Gui.dll
libstdc++-6.dll
icudt52.dll
libEGL.dll
应用程序启动并在没有安装Qt的计算机上正常运行。我希望它从Windows开始,因此我修改了注册表项HKLM\Software\Microsoft\Windows\CurrentVersion\Run
。但是当我登录到Windows时,会出现错误消息:
应用程序无法启动,因为它无法找到或加载 Qt平台插件" Windows"。重新安装应用程序可以修复 这个问题。
然后我的应用程序崩溃了。请注意,我已提供platforms\qwindows.dll
和libEGL.dll
。添加到PATH值...\platforms\
也无济于事。如果我通过点击它启动应用程序,一切都很好。
它还能是什么?
UPD:
我现在可以在Internet上找到的唯一解决方案是将环境变量QT_QPA_PLATFORM_PLUGIN_PATH
设置为包含qwindows.dll
的目录。但这不是一个好主意。
解决方案:
答案是here。添加两个额外的命令行参数-platformpluginpath
和path\to\qwindows\directory
解决了我的问题。
答案 0 :(得分:0)
我认为这是因为当您从HKLM\Software\Microsoft\Windows\CurrentVersion\Run
启动应用程序时,未设置工作目录(在您的情况下,您应该将其设置为可执行文件所在的文件夹,以便让工作正常进行如预期的那样。)
因此,您可以尝试其中一种解决方案here。