2013-07-19 67 views
3

我一直在評論如何將我的桌面應用程序從Qt5 Creator部署到一組.dll和.exe。記錄的過程似乎非常複雜:http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html
請你幫助我更好地理解它。在Windows上部署Qt5

只是複製使用Dependency Walker發現的.dlls不起作用-t告訴我Qt5Core.dll缺少入口點,並且我已經在我的硬盤上嘗試過Qt5Core.dll的每個版本。但我離題了。

  1. 它說你必須建立靜態的QT。這實際上是做什麼的?
  2. 一旦我建立了靜態,我該如何解決這個問題並恢復到我的正常環境?
  3. 第1步說。我在哪裏可以找到這些選項的位置?
  4. 有沒有一個工具,我可以運行它爲我做這個?

非常感謝。

(我使用的是Windows 7和Qt 5.1)。

回答

1

Do I have to include all these Qt dlls with my application?

靜態鏈接是罕見的。您可能正在使用LGPL授權,因此您應該動態鏈接。

朝向您在鏈接中提到的頁面的底部,它提供了一個示例項目的dll依賴關係。

當插件&畫圖可執行文件(plugandpaint.exe)與取決於工具的發佈版本來看,該工具列出了下列直接依賴於非系統庫:

然後它給出了一堆dll的圖表。根據.pro文件中的模塊,您將需要不同的dll和不同的運行時編譯器依賴關係。

希望有所幫助。

+0

謝謝。我使用了依賴關係walker,並添加了它列出的。我仍然收到一個錯誤,說明無法找到入口點。在google-fu之後,我嘗試了我的系統上該DLL的所有版本,以防萬一它是另一個文件。沒有運氣。 – Dirk

+1

@Dirk它也可能與dll所需的文件夾有關。例如,插件進入不同的文件夾。發佈你的exe文件夾的結構,以及你使用它的dll,以及在什麼文件夾中。同時發佈.pro文件。並且在Qt Creator中運行時打印出這些內容'qDebug()<< qApp-> libraryPaths();'http://qt-project.org/doc/qt-5.1/qtcore/qcoreapplication.html#libraryPaths – phyatt

+0

明天會做。我將所有內容複製到一個文件夾(一張SD卡)並嘗試運行。 – Dirk