Qt程序運行提示“it could not find or load the QT platform plugin “windows””

打開exe運行程序是,彈窗提示:

Application failed to start because it could not find or load the QT platform plugin “windows”

其實可以比較容易定位是缺少Qt的dll庫文件導致的。這通常由於發佈了程序之後,運行的計算機裏沒有將Qt的庫添加到默認的環境變量或者程序設定的搜索路徑,也可能是運行平臺並沒有Qt的庫。

網上提示的不少解決方法是,將Qt目錄下的dll文件複製到exe同目錄下。

這裏也引用一下這個解決方法:

Qt5.6.2\5.6\msvc2013\plugins\中的platforms和imageformats這兩個文件夾複製到exe同級目錄下


實際上,如果你用了別人的程序,同時還不知道源碼的狀態下,通常很難知道依賴了哪些庫。尤其是當使用了較多Qt功能時,這樣可能會十分的麻煩。

網上還有一種方法,使用VC自帶的depends分析依賴庫,然後手動將dll拷貝到目錄下


有效的解決方法:

Qt其實自帶一個依賴包分析程序,這個程序可以幫助你定位你發佈的程序所以來的Qt的庫資源,自動將缺少的庫拷貝到程序所在的目錄。

這個Qt工具 windeployqt 位於Qt目錄下的msvc\bin文件夾下。

請使用cmd命令行,在你有此問題的程序文件夾下,執行命令

c:\Qt\Qt5.2.1\5.2.1\msvc2010_opengl\bin\windeployqt.exe application.exe
這裏假設application.exe是你的程序。

此時,windeployqt會自動拷貝需要的Qt庫到application的目錄。

結束之後,請再嘗試運行程序,Qt庫將不再報錯。


PS:引用自stackoverflow

https://stackoverflow.com/questions/21268558/application-failed-to-start-because-it-could-not-find-or-load-the-qt-platform-pl

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章