1. 程式人生 > >Qt學習筆記(一) VS2013編譯Qt5.4靜態庫(轉)

Qt學習筆記(一) VS2013編譯Qt5.4靜態庫(轉)

一、環境配置

我目前用的系統是Windows 8.1,請注意安裝好以下軟體,以及配置好環境變數:

Visual Studio 2013
python
perl
安裝好以上軟體 請用cmd測試下 python 和perl,如果提示不是內部或外部命令,也不是可執行的程式或批處理檔案之類的那說明沒配置好環境變數,請在你的環境變數path中新增 D:\DesignSoftware\Qt\5.4\msvc2013_64_opengl\bin;D:\DesignSoftware\Python34;D:\DesignSoftware\perl\bin(根據自己的安裝路徑進行更改)

環境變數檢查

其次我並未對VS2013安裝QT外掛 而是使用QT本身的IDE,由於開始沒考慮到 靜態編譯問題所以我是簡便安裝了官方的windows 原始碼

二、準備工作

http://download.qt-project.org/development_releases/qt/5.4/5.4.0-beta/qt-opensource-windows-x86-msvc2013_64_opengl-5.4.0-beta.exe

這個很簡單 就和安裝一般的程式一樣一步步安裝即可,那麼下面說就是編譯一個 靜態庫 存放到 安裝好的Qt中以便使用

下載

http://download.qt-project.org/development_releases/qt/5.4/5.4.0-beta/single/qt-everywhere-opensource-src-5.4.0-beta.zip

將其解壓 到E:\qt(自己看著辦即可)

下面的修改很重要,第一次編譯忘了修改,安裝完了才想起來。浪費了我倆小時。。

根據你的VS版本進入Qt相應的資料夾修改qmake.conf,我是win32-msvc2013

E:\qt\qtbase\mkspecs\win32-msvc2013\qmake.conf

1
1 2 3 4 5 6 7 8 QMAKE_CFLAGS_RELEASE=-O2-MD-Zc:strictStrings QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO+=-O2-MD-Zi-Zc:strictStrings QMAKE_CFLAGS_DEBUG=-Zi-MDd //將以上改為 QMAKE_CFLAGS_RELEASE=-O2-MT-Zc:strictStrings QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO+=-O2-MT-Zi-Zc:strictStrings QMAKE_CFLAGS_DEBUG=-Zi-MTd //即將MD(動態)改為MT(靜態)

準備完成下面即開始編譯

三、編譯靜態庫並安裝

下面開啟VS2013的開發人員命令提示工具,從開始選單中自己找。或者看看下面路徑裡有沒

(安裝目錄)\Common7\Tools\Shortcuts\VS2013 開發人員命令提示

2

轉至Qt下載解壓的目錄

E:\qt

執行configure 注意檢查:

1 configure-confirm-license-opensource-platform win32-msvc2013-debug-and-release-static-prefix"D:\DesignSoftware\Qt\5.4\static-vs2013"-qt-sql-sqlite-qt-sql-odbc-plugin-sql-sqlite-plugin-sql-odbc-qt-zlib-qt-libpng-qt-libjpeg-opengl desktop-qt-freetype-no-qml-debug-no-angle-nomake tests-nomake examples-skip qtwebkit

其中 “D:\DesignSoftware\Qt\5.4\static-vs2013″  是最後靜態庫安裝的位置 我安裝的就是最開始 安裝QT的地方 嘛 這個可以隨便複製的

這一步如果提示 找不到configure.exe命令 是因為下載的zip問題 執行下面的方法即可

1.新建一個.gitignore檔案

2.內容填寫 foo 儲存即可

3.儲存到E:\qt\qtbase中

4.CMD在e:\qt目錄執行 echo foo > qtbase\.gitignore

3

4

再執行之前的configure程式碼即可

執行nmake:

輸入nmake 回車

這一步超長,,,大概1個小時半左右,可以最小化該幹嘛幹嘛,我用的SSD  機械硬碟可能會更久,猜測。。

執行nmake install

5

nmake結束以後執行nmake install 程式會把編譯好的靜態庫安裝到之前設定的目錄 靜態庫即可使用了。

三、使用靜態庫

7

開啟Qt Creator,工具->選項->構建和執行->Qt Versions->新增

把剛才安裝的靜態庫加進去 選瀏覽 把 D:\DesignSoftware\Qt\5.4\static-vs2013\bin\qmake.exe 選進去即可 (不單是剛編譯的 以後如果拿到別的也可以這麼新增)

8

選擇 構建套件(Kit)選項卡 新增一個套件 看下面設定 自行更改

經過上面操作 已經完成所有的編譯安裝,新建個專案選擇 靜態庫的kit試試吧,最後生成的release\exe檔案大概在10M以內 通過TMD壓縮下 有4M左右= ,=不得不說 如果不考慮跨平臺。。用C#還是不錯的 至少現在.net framework windows都預裝了生成的exe才幾百K。。。

9

Note:在最後一步構建kit的時候我發現有個警告,好像說是可能不相容,不過我測試一切正常。不知道具體是什麼 有遇到的或者知道的還請留言告訴下。

可以跳過很多庫...加上-mp可以加快編譯速度,多核的話 configure -prefix "d:\Qt\Qt5.4-64" -debug-and-release -static -no-icu -opengl desktop -confirm-license -opensource -nomake examples -nomake tests -mp -no-harfbuzz -no-angle -D _CRT_SECURE_NO_WARNINGS -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtdeclarative -skip qtenginio -skip qtgraphicaleffects -skip qtlocation -skip qtmacextras -skip qtquick1 -skip qtquickcontrols -skip qtscript -skip qtsensors -skip qtserialport -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtx11extras -skip qtxmlpatterns