1. 程式人生 > >VS2013編譯Qt5.4靜態

VS2013編譯Qt5.4靜態

設定了一天,這靜態編譯也總算是虐出來了。。。Qt 的靜態編譯簡直不要太麻煩啊。。。

感謝這位大神提供的方法

工具下載:

一、環境配置

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

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

配置環境變數:計算機->屬性->高階系統設定->環境變數->系統變數->Path

1.MinGw:

Path後加

;F:\MinGW\mingw64\bin

2. Python:

Path 後加:

;F:\Python33

;F:\Qt\5.4\msvc2013_64\bin

3. Perl:

Path 後加:

F:\Perl\bin

cmd測試:

gcc –v  

python

perl -v

 

二、準備工作

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

下載

將其解壓 到F:\qt-everywhere-opensource-src-5.4.0-beta(

自己看著辦即可)

下面的修改很重要

進入Qt的mkspecs\win32-msvc2013資料夾修改qmake.conf

F:\Qt\5.4\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf

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的開發人員命令提示工具,從開始選單中自己找。或者看看下面路徑裡有沒

F:\VS2013\Common7\Tools\Shortcuts\VS2013開發人員命令提示


VS2013下cmd命令:(後面具體說明)

cd"F:\qt-everywhere-opensource-src-5.4.0-beta"

echo foo >qtbase\.gitignore

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

nmake

nmake install

下具體說明:

轉至qt-everywhere-opensource-src-5.4.0-beta解壓的目錄

F:\qt-everywhere-opensource-src-5.4.0-beta

執行configure 注意檢查:

1

configure -confirm-license -opensource -platform win32-msvc2013 -debug-and-release -static -prefix " F:\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

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

 -platform win32-msvc2013 為你選取的編譯器平臺

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

1.新建一個.gitignore檔案

(如何建立一個沒有名字的檔案??

    你建立一個檔案,隨便什麼都可以,改名如 1.txt留著備用。裡面輸入foo    再建立一個文字檔案do.txt,輸入如下內容:

    ren 1.txt
.gitignore    儲存後將 do.txt改為 do.bat
    然後滑鼠雙擊 do.bat

2.內容填寫 foo儲存即可

3.儲存到F:\qt-everywhere-opensource-src-5.4.0-beta\qtbase


4.CMD在F:\qt-everywhere-opensource-src-5.4.0-beta目錄執行 echo foo > qtbase\.gitignore

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

 

執行nmake:

輸入nmake 回車

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

執行nmake install


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

三、使用靜態庫

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

把剛才安裝的靜態庫加進去 選瀏覽 把 F:\Qt\5.4\static-vs2013\bin\qmake.exe選進去即可 


如果提示qmlscene未安裝,只需把原來的F:\Qt\5.4\msvc2013_64\bin\qmlscene.exe拷到F:\Qt\5.4\static-vs2013\bin\qmlscene.exe下就行了。

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


經過上面操作 已經完成所有的編譯安裝,新建個專案選擇 靜態庫的kit試試吧,

注:要把之前改的MT 換回 MD

F:\Qt\5.4\msvc2013_64\mkspecs\win32-msvc2013\qmake.conf