Qt發布可能遇到的問題


1.首先要搞清楚動態鏈接庫還是靜態鏈接

本文只涉及動態鏈接庫,就是編譯出來的exe文件加上Qt 的必要dll文件。

一般跟別人一樣的操作,直接雙擊 XX.exe,提示缺少什么dll,就去Qt的安裝目錄下的bin文件夾里去找。我找的目錄是D:\Qt\Qt5.2.0\5.2.0\msvc2010\bin

 

2. This application failed to start because it could not find or load the Qt platform plugin "windows"

 

復制所需的dll后,提示了這個錯誤。這個錯誤的解決方案是:

1.可能缺少復制 libEGL.dll

2.需要把D:\Qt\Qt5.2.0\5.2.0\msvc2010\plugins\platforms\qwindows.dll,帶紅色的復制到你的exe執行文件目錄。就是platforms文件夾,里面一個qwindows.dll


3.復制你exe需要的qt插件


首先要在程序中的 main函數中加上 QApplication::addLibraryPath("./plugins");

我寫的Qt程序只用到了image插件,需要把 D:\Qt\Qt5.2.0\5.2.0\msvc2010\plugins\imageformats,帶紅色的文件夾包括imageformats里的大部分dll復制到exe執行文件目錄就OK了,如果用到數據庫插件等,也要復制。

 

4.使用Process Explorer 查看exe使用的dll

發布我的程序TextureUnpacker時,Process Explorer幫助非常大,我們用Qt Creator  運行我們將要發布的程序時,就可以用 Process Explorer 查看exe使用的dll了,除了C:windows\system32的中的像下圖紅框中的就要關注了,程序運行失敗很可能就是少了對應的dll文件。

 

5.最后是我用qt 5.2寫的一個簡單程序所需要的dll列表:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM