2016-09-24 84 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瞭解詳細信息和更精確的選項。我只是給你解釋。