Qt5 程式釋出windowsXP一些問題
标簽: windowsxpqt5vs2013
2014-11-21 19:52 1622人閱讀 評論(1) 收藏 舉報
分類:
程式設計(2)
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。
開發環境win7 + vs2013 + Qt5
目标機器:xp,沒有安裝vs和Qt
首先将EXE檔案即其依賴dll放入同一檔案夾,拷貝到目标機器上,輕按兩下運作,出現錯誤1
1、“exe不是有效的Win32程式,如圖”

Vs2013支援xp環境的程式,不過得設定一下。方法如下:
在vs2013中,在工程名上點選右鍵-》屬性-》配置屬性-》正常-》平台工具集,選擇xp項,如下圖
系統差異問題解決,第二個就是vs編譯環境問題。
2、“沒有找到MSVCR120.dll,是以這個應用程式未能啟動,重新安裝應用程式可能會修複此問題”
原因在于缺少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””
出現此問題可能原因有兩個:
第一是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