2011-09-16 60 views
1

我已經用Mingw創建了一個Qt應用程序。在將所需的DLL複製到目錄後,應用程序在開發計算機上正常運行。但是,在外部計算機上部署時,應用程序根本無法運行。Windows,Mingw Qt應用程序無法在部署的計算機上運行

更新: 此外,應用程序通過QtSql使用Sqlite3。

+1

用戶看到了什麼錯誤? –

+0

沒有錯誤。窗戶小時玻璃顯示,然後沒有任何反應。我現在是用戶,它尚未部署在生產環境中。 –

+0

您是否嘗試過在調試器下運行它? GDB可能是MinGW編譯程序的最佳選擇,但如果問題出在系統DLL中,則可能需要使用Windows SDK中的Debugging Tools for Windows包中的cdb之類的東西。你可以從http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GDB/GDB-7.2/gdb-7.2-1-mingw32-bin.tar.lzma/download下載GDB,它需要libexpat-1 .dll來自http://sourceforge.net/projects/mingw/files/MinGW/expat/expat-2.0.1-1/libexpat-2.0.1-1-mingw32-dl​​l-1.tar.gz/download –

回答

2

這很可能你仍然錯過了一些dll。

  1. 運行應用程序後,檢查Windows事件日誌是否有任何錯誤。 (管理工具 - >事件查看器)。
  2. 嘗試從命令提示窗口啓動應用程序。
  3. 嘗試Dependency Walker

另一個想法是缺少一些配置文件或註冊表設置。

針對部署Windows Qt應用程序的Qt docs進行雙重檢查。

+0

謝謝,我已經嘗試過了。事件日誌沒有任何關於應用程序和命令提示符顯示什麼。感謝您的快速回復。 –

+0

@Jason如果您還沒有這樣做,對於命令提示符部分,您必須在.pro文件中用'CONFIG + = console'重新編譯您的應用程序,以便它實際上使用控制檯。 – alexisdm

+1

你原來是對的,先生!我有QtSql DLL,但我錯過了SQLITE DLL。更準確地說,它不在正確的位置。顯然它需要位於名爲sqldrivers的子目錄中。看到這個相關的問題:http://stackoverflow.com/questions/5151279/qsqlite-driver-not-loaded謝謝! –

相關問題