2016-09-24 81 views
1

我正在Linux上开发一个Qt程序,我也想在Windows上进行学习。针对Windows的编译和静态链接与MXE(qtbase安装)很好地协作,我想如何动态链接我的程序。从Linux部署Qt程序到Windows

动态链接工程和程序在Wine下运行,但是当我将EXE和DLL复制到Windows时,该程序给出错误:'该应用程序无法启动,因为它无法找到或加载Qt平台插件“窗口”在“”中。“

在Windows上,有windeployqt,它将应用程序需要的所有内容整齐地放在一个文件夹中。有没有办法让这个工具(或类似的)在Linux上运行?

+3

使用Windows VM不是简单吗? – peppe

+0

这部分不符合原则,部分原因在于便利。我在哪里可以获得Windows的免费副本? – Hullu2000

+0

我想我记得那个。这是关于捆绑“platform-somrthing.dll”并验证平台插件的搜索路径是否设置正确。错误消息表明它没有设置,因此它可能正在当前目录中查找它。你拷贝了什么dll? – Velkan

回答

1

您缺少可执行文件所需的几个文件。

让他们在 “Qt的迪尔\ Qt的版本\ MinGW的版本\插件\”

要求:

  • imageformats \
    • qgif.dll
    • qico.dll
    • qjpeg.dll
    • qwbmp.dll
  • 平台\
    • qwindows.dll(这是什么错误都在谈论)

(如果在调试模式下,使用这些文件以 “d” 结尾,例如qwindowsd.dll)

我不确定图像格式,但我不得不在使用图片的程序中使用它们。首先尝试使用“platforms \ qwindows.dll”,然后在程序要求时添加图像格式。

请参阅https://doc.qt.io/qt-5/windows-deployment.html了解详细信息和更精确的选项。我只是给你解释。