天天看點

Qt5 程式釋出windowsXP一些問題

Qt5 程式釋出windowsXP一些問題

标簽: windowsxpqt5vs2013

2014-11-21 19:52 1622人閱讀 評論(1) 收藏 舉報

 分類:

程式設計(2) 

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

開發環境win7 + vs2013 + Qt5

目标機器:xp,沒有安裝vs和Qt

首先将EXE檔案即其依賴dll放入同一檔案夾,拷貝到目标機器上,輕按兩下運作,出現錯誤1

1、“exe不是有效的Win32程式,如圖”

Qt5 程式釋出windowsXP一些問題

Vs2013支援xp環境的程式,不過得設定一下。方法如下:

在vs2013中,在工程名上點選右鍵-》屬性-》配置屬性-》正常-》平台工具集,選擇xp項,如下圖

Qt5 程式釋出windowsXP一些問題

系統差異問題解決,第二個就是vs編譯環境問題。

2、“沒有找到MSVCR120.dll,是以這個應用程式未能啟動,重新安裝應用程式可能會修複此問題”

Qt5 程式釋出windowsXP一些問題

       原因在于缺少vs2013程式環境,一種方法是根據提示卻上什麼dll檔案,就下載下傳并将其拷貝到“C:\Windows\System32”中,第二種方法是到微軟網站下載下傳Visual C++ RedistributablePackages for Visual Studio 2013,連結:http://www.microsoft.com/zh-cn/download/details.aspx?id=40784

接下來就是Qt5的環境問題,此問題要複雜一點兒,之前也沒接觸,故花的時間略多。

3、Qt5,“this application failed tostart because it could not find or load the Qt platform plugin “windows””

Qt5 程式釋出windowsXP一些問題

出現此問題可能原因有兩個:

第一是EXE同檔案夾中缺少libEGL.dll或libGLESv2.dll(debug版本程式使用libGLESv2d.dll),将這兩個檔案考入檔案夾

第二個Qt在windows下運作必須要qwindows.dll檔案,此檔案在“Qt\Qt5.3.2\5.3\msvc2013\plugins\platforms”路徑下,但不能類似前面處理方式一樣将qwindows.dll檔案拷貝到EXE目錄,這和Qt對plugins的加載方式有關。解決步驟如下:

a)       在main函數開頭加入下面語句

       QApplication::addLibraryPath("./plugins");

b)       在EXE目錄中建立platforms檔案夾,将qwindows.dll檔案拷入

當然這裡因為我隻用到了qwindows.dll,如果還用到其他的plugins也得一起拷進去。

這個問題可以采用qt.conf解決,但我沒有看過,可以參考Qt官網的資料

http://qt-project.org/doc/qt-5/windows-deployment.html

Qt

繼續閱讀