問題解決:it could not find or load the Qt platform plugin "windows"

來源:互聯網
上載者:User

標籤:windows   qt   c++   

問題:在使用Qt5.3.2編寫程式並release,檔案夾中已經添加了必要的dll,但在其他機子上運行程式失敗,出現了下面的情況:

解決方案一:在C:\Qt\Qt5.3.2\5.3中進入mingw482_32檔案夾,將plugins\platforms整個目錄複寫exe執行檔案所在的檔案夾目錄中,程式即可運行。

以下是網上幾個其他方法的總結:

解決方案二:複製你exe需要的qt外掛程式,首先要在來源程式中的main函數中加上QApplication::addLibraryPath(“./plugins”);

把C:\Qt\Qt5.3.2\5.3\mingw482_32\plugins\裡的dll複製到exe執行檔案目錄就OK了。

比如程式在自己機子上運行正常,拷貝到其他電腦後一些圖片無法顯示可嘗試這種方法。這時可能的解決方案是,進入exe檔案所在目錄底下建立檔案夾imageformats, 然後去QT的plugins下imageformats檔案夾下拷貝相應的圖片編碼的dll和lib。例如在程式中用到的圖片是jpg格式的,就複製qjpeg.dll 和qjpeg.lib過去。

解決方案三:使用Process Explorer查看程式所使用的dll

Process Explorer是一個很有用的工具。由Sysinternals開發的Windows系統和應用程式監視工具,目前已併入微軟旗下。不僅結合了Filemon(檔案監視器)和Regmon(註冊表監視器)兩個工具的功能,還增加了多項重要的增強功能。包括穩定性和效能改進、強大的過濾選項、修正的進程樹對話方塊(增加了進程存活時間圖表)、可根據點擊位置變換的右擊菜單過濾條目、整合帶原始碼儲存的堆疊追蹤對話方塊、更快的堆疊追蹤、可在 64位 Windows 上載入 32位 記錄檔的能力、監視映像(dll和核心模式驅動程式)載入、系統引導時記錄所有操作等。(來自百度百科的解釋)

既然可以監視dll,那麼在發布程式前,可以用Qt Creator運行將要發布的程式,在Process Explorer中查看exe使用的dll,一般來說,程式運行失敗很可能就是少了對應的dll檔案。

這是我用qt發布一個簡單程式所需要的dll列表:

問題解決:it could not find or load the Qt platform plugin "windows"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.