平台" windows"

时间:2014-09-10 11:24:12

标签: qt deployment

我在部署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.dlllibEGL.dll。添加到PATH值...\platforms\也无济于事。如果我通过点击它启动应用程序,一切都很好。

它还能是什么?

UPD:

我现在可以在Internet上找到的唯一解决方案是将环境变量QT_QPA_PLATFORM_PLUGIN_PATH设置为包含qwindows.dll的目录。但这不是一个好主意。

解决方案:

答案是here。添加两个额外的命令行参数-platformpluginpathpath\to\qwindows\directory解决了我的问题。

1 个答案:

答案 0 :(得分:0)

我认为这是因为当您从HKLM\Software\Microsoft\Windows\CurrentVersion\Run启动应用程序时,未设置工作目录(在您的情况下,您应该将其设置为可执行文件所在的文件夹,以便让工作正常进行如预期的那样。)

因此,您可以尝试其中一种解决方案here