Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
首先是準備工作,去QT主頁下載獨立的QT類庫安裝包以及完整QT SDK安裝包,還有QT Creator for windows 版
下載地址:http://qt.nokia.com/downloads-cn? ? ?最新是 4.7.4 版
還有一個mingw 4.4.5 靜態編譯版,用來解決mingwm10.dll、 libgcc_s_dw2-1.dll,兩個DLL依賴的問題
下載地址是:http://code.google.com/p/qp-gcc/downloads/list
四個文件分別是:
(1) qt-creator-win-opensource-2.3.1.exe ??// IDE 開發框架
(2) qt-win-opensource-4.7.4-mingw.exe ??? ? ? ?// QT類庫安裝包
(3) Qt_SDK_Win_offline_v1_1_3_en.exe ??? ? ? ?// QT SDK 完整安裝包
(4)?mingw-static-4.4.5-all.7z? ? ? ? ? ? ? ? ? ? ? ? ?// mingw 靜態編譯完整版
準備好上面四個文件之后,就可以安裝了,安裝順序以上面的(1)--(4)的順序進行安裝
下面說一下安裝時需要注意的地方,
第一步:安裝的是 qt-creator,安裝的時候記得把它自帶的 mingw 編譯器選上(主要是為了這個 mingw 編譯器)。假如默認安裝到:C:\Qt\qtcreator-2.3.1
第二步:就是安裝?QT 獨立類庫,由于它不包含編譯器,因此在安裝的時候有個選項,要你選擇 mingw 編譯器的路徑,
? ? ? ? ? ? ?指向?C:\Qt\qtcreator-2.3.1\mingw 目錄就可以了。假如默認安裝到:C:\Qt\4.7.4
第三步:就是安裝完整版的QT SDK,默認安裝到:C:\QtSDK
好了,接下來就是關鍵的靜態編譯了,打開 C:\Qt\4.7.4\mkspecs\win32-g++ 目錄下的?qmake.conf 文件,
修改兩個地方:
QMAKE_LFLAGS ? ? =?
修改為
QMAKE_LFLAGS????????? = -static?-enable-stdcall-fixup -Wl,-enable-auto-import-Wl,-enable-runtime-pseudo-reloc
再將
QMAKE_LFLAGS_DLL??????? = -shared
修改為
QMAKE_LFLAGS_DLL??????? = -static
然后打開“開始菜單”-->“程序”-->“Qt by Nokia v4.7.4 (MinGW OpenSource)”菜單下面的?Qt 4.7.4 Command Prompt 也就是QT 命令行,
先配置編譯選項,然后再開始編譯,這是命令行提示符停留在:C:\Qt\4.7.4 ? 路徑,輸入以下配置命令:
configure -platform win32-g++ -release -opensource-static -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-gif-qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-webkit -qt-style-windowsxp-qt-style-windowsvista -nomake examples -nomake docs -nomake demos
等待配置完成后,進入 src 目錄,并進行編譯,輸入如下命令:
cd src ? ? ? ? ? ? ? ? ? ? ? ? ? // 進入源碼目錄
mingw32-make -i -k ? ? // 進行靜態編譯
等待幾十分鐘后就能編譯成功,之后就可以進行第四步了。
第四步:把下載的 mingw 靜態編譯版的編譯器??mingw-static-4.4.5-all.7z?解壓到 C:\QtSDK\mingw 目錄,為什么?
因為我們要用第三步安裝的完整版的QT SDK中帶的 qt-creator IDE來進行開發,而不是第一步安裝的 qt-creator。
最后的設置,打開 qt-creator 之后,點擊“工具”-->“選項”對話框,點擊左邊的“Qt4”選項,就能看到IDE自動檢測到
的 qmake ,但是自動檢測的 qmake 只能生成動態編譯的程序,現在我們點擊右上角的“添加”按鈕,找到路徑
C:\Qt\4.7.4\bin ,選中該路徑中的 qmake.exe 文件,并命名為 “Qt 4.7.4 靜態編譯”,然后確定就完成了最后的設置。
現在我們來新建一個Qt Gui 應用,在目標設置的時候選擇“桌面”,可以看到默認的動態MinGw編譯器,以及我們自己
命名的靜態MinGW編譯器,如下圖,記得靜態編譯的調試是無法生成的,因為我沒有把調試也進行靜態編譯,只是把
發布進行靜態編譯了。雖然安裝占用的空間比較大,但是省卻了要調試的時候去修改Makefile.Debug文件的麻煩。
總結
以上是生活随笔為你收集整理的Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下 Qt 静态编译
- 下一篇: 使用GPIO模拟I2C总线进行通信