Qt 原始碼 編譯configure配置引數說明(二)
阿新 • • 發佈:2019-01-22
主要關注哪些引數是預設配置的轉載備查
==================================
====全文是按照./configure -help來翻譯的========
==================================
Usage: configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]
[-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]
[-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>]
[-demosdir <dir>] [-buildkey <key>]
這些是基本引數
[-release] [-debug][-debug-and-release] [-developer-build]
[-shared] [-static] [-no-fast] [-fast] [-no-largefile]
[-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
[-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
[-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
這些是對QT所支援模組等設定的引數
[-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
[-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
[-no-make <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
[-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
[-no-separate-debug-info]
這些是第三方庫的支援引數
[-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info]
[-armfpa][-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns]
[-xmlpatterns][-no-phonon] [-phonon] [-no-phonon-backend]
[-phonon-backend][-no-openssl] [-openssl] [-openssl-linked]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
[-no-scripttools] [-scripttools]
安裝選項:
以下選項都是可選,通過他們指定安裝目錄,不指定則用預設目錄。選項前標記*的則為系統預設,+則為新增才有效那種
-prefix <dir> ......... 指定安裝目錄預設在 /usr/local/Trolltech/QtEmbedded-4.X.X
-hostprefix [dir] ..... 指定可擴充套件的工具庫安裝路徑,預設當前目錄
* -prefix-install ........ 指定QT的本地安裝. 至
/usr/local/Trolltech/QtEmbedded-4.X.X, 此選項優先於-PREFIX.
以下選項用來指定分開安裝不同部分,比如希望將可執行的放在/usr/bin 將庫檔案放在/lib下等等:
-bindir <dir> ......... 指定可執行檔案路徑 <dir>(預設 PREFIX/bin下)
-libdir <dir> .......... 指定庫檔案路徑 <dir>(預設 PREFIX/lib)
-docdir <dir> ........ 指定文件路徑 <dir>(預設 PREFIX/doc)
-headerdir <dir> .... 指定標頭檔案路徑 <dir>(預設 PREFIX/include)
-plugindir <dir> ...... 指定外掛路徑 <dir> (預設 PREFIX/plugins)
-datadir <dir> ........ 指定QT要使用到的一些資料檔案所在路徑 <dir> (預設 PREFIX)
-translationdir <dir> . 指定QT程式的翻譯檔案路徑 <dir>(預設 PREFIX/translations)
-sysconfdir <dir> ..... 指定QT的設定檔案路徑 <dir>(預設 PREFIX/etc/settings)
-examplesdir <dir> .... 指定例項檔案, <dir>(預設 PREFIX/examples)
-demosdir <dir> ....... 指定demos的安裝路徑 <dir> (預設 PREFIX/demos)
可以用這些選項去匹配自己所想要的外掛
- buildkey <key> ...... 通過指定的key生成QT庫和外掛。
配置選項:
預設的選項(*),可選新增選項(+)
* -release ........... 此選項在編譯過程QT會對程式進行優化,在釋出軟體的時候應該用此選項,是預設選項
-debug ............. 加上此選項編譯程式QT不會做出優化,往往在開發過程使用此選項
-debug-and-release . 編譯兩個版本
-developer-build.... 編譯Qt的開發商和連線選項(包括自動測試出口的Qt)
-opensource......... 以開源版本釋出程式
-commercial......... 以商業版本釋出程式
* -shared ............ 建立和使用共享Qt庫。
-static ............ 建立和使用靜態的Qt庫。
* -no-fast ........... 使用通常的Makefile來編譯,是預設選項
-fast .............. 快速編譯,除了封裝必要的庫,部分步驟省略或者用快速的方法處理
-no-largefile ...... 禁用大檔案支援。
+ -largefile ......... 支援訪問大於4GB的檔案
* -no-exceptions ..... 禁用編譯器本身對異常的處理
-exceptions ........ 啟用編譯器本身對異常的處理
-no-accessibility ..
* -accessibility ..... 禁用/啟用無障礙支援
-no-stl ............
* -stl ............... 禁用/啟用STL支援
-no-sql-<driver> ... 禁用SQL
-qt-sql-<driver> ... 根據需求啟用SQL外掛(預設全部關閉)
-plugin-sql-<driver> 禁用/啟用/啟用外掛 對SQL的支援
-system-sqlite ..... 啟用支援sqlite也可用-qt-sqlite
-no-qt3support .....
* -qt3support ........ 禁用/啟用qt3支援模組
-no-xmlpatterns ....
+ -xmlpatterns ....... 禁用/啟用xmlpatterns模組
-no-phonon .........
+ -phonon ............ 禁用/啟用Phonon模組(可以理解為聲音控制模組)
-no-phonon-backend..
+ -phonon-backend..... 禁用/啟用phonon-backend模組
-no-svg ............
+ -svg ............... 禁用/啟用svg模組
-no-webkit .........
+ -webkit ............ 禁用/啟用webkit模組(訪問網路模組)
-no-scripttools ....
+ -scripttools ....... 禁用/啟用scripttools模組
-platform target ... x86平臺指定模組 (qws/linux-x86-g++).
-no-mmx ............ 我不知道這四個是什麼,貌似是幾個指令系統?
-no-3dnow ..........
-no-sse ............
-no-sse2 ...........
-qtnamespace <name> 指定所有庫程式碼路徑.
-qtlibinfix <infix> 重新命名所有.so庫檔案到指定路徑
-D <string> ........ 新增一個前處理器
-I <string> ........ 新增一個明確的標頭檔案路徑
-L <string> ........ 新增一個明確的庫檔案路徑
-help, -h .......... 顯示幫助資訊
第三方庫選項:
(以下是第三方庫,往往編譯過程中需要依賴的都要加上,也沒什麼好說的,缺什麼就加什麼)
-qt-zlib ...........
+ -system-zlib ....... zlib依賴包 詳詢 http://www.gzip.org/zlib
-no-gif ............
* -qt-gif ............ gif圖片支援包
See also src/plugins/imageformats/gif/qgifhandler.h
-no-libtiff ........
-qt-libtiff ........ tiff支援外掛
+ -system-libtiff .... 預設是-system呼叫系統的,出錯的話可以嘗試用-qt,qt的在編譯過程不容易出錯
詳詢 http://www.libtiff.org
-no-libpng .........
-qt-libpng ......... png圖片支援外掛
+ -system-libpng .....
詳詢 http://www.libpng.org/pub/png
-no-libmng .........
-qt-libmng ......... mng支援外掛
+ -system-libmng .....
詳詢 http://www.libmng.com
-no-libjpeg ........
-qt-libjpeg ........ jpeg圖片支援外掛
+ -system-libjpeg ....
詳詢 http://www.ijg.org
-no-openssl ........
+ -openssl ........... openssl支援外掛
-openssl-linked ....
-ptmalloc .......... 系統記憶體分配器
其他選項:
(擴充套件選項,模組的選擇等,使編譯更加人性化)
-make <part> ....... 選擇是否編譯某些無關緊要的子模組
-nomake <part> ..... (例如不想編譯系統自導的demos則可使用-nomake demos)
-R <string> ........ 新增一個動態庫
-l <string> ........ 新增一個靜態庫
-no-rpath ..........
+ -rpath ............. 是否將生成的庫安裝在軟體的安裝目錄,預設是在安裝目錄,否則自己指定路徑
-continue .......... 忽略錯誤一路前奔的編譯,因為一般情況是按照模組逐個編譯的,
碰到錯誤就停止。加上此引數是全部編譯最後處理
-verbose, -v ....... 顯示每個步驟的詳細資訊
-silent ............ 安靜的編譯省略資訊回顯
* -no-optimized-qmake ...
-optimized-qmake ...... 禁用/開啟qmake的優化作用
-no-nis ............
* -nis ............... 禁用/開啟NIS的支援
-no-cups ...........
* -cups .............. 禁用/開啟對CUPS的支援
需要 cups/cups.h and libcups.so.2.
-no-iconv ..........
* -iconv ............. 禁用/開啟對iconv的支援.
-no-pch ............
* -pch ............... 禁用/開啟是否使用前處理器標頭檔案
-no-dbus ...........
+ -dbus .............. 禁用/開啟對QTdbus模組的編譯
-dbus-linked .......
-reduce-relocations ..... 減少因為連結優化而導致的而外的庫檔案重置
-no-separate-debug-info . 不將除錯資訊放在一個檔案內
* -separate-debug-info .... 將除錯資訊放在一個檔案內
以下引數僅限於嵌入式QTE編譯使用:
-xplatform target ... 交叉編譯過程指定目標平臺
-no-feature-<feature> 不編譯<feature>.
-feature-<feature> .. 編譯<feature>. 可選feature在src/corelib/global/qfeatures.txt檔案內可查尋
-embedded <arch> .... 指定嵌入式平臺的型別例如:arm mips x86 generic
-armfpa .............
-no-armfpa .......... 禁用/啟用armfpa浮點格式支援
-little-endian ...... 指定位元組順序為小位元組序、低位元組序
-big-endian ......... 指定位元組順序為大位元組序、高位元組序
-host-little-endian . 指定主機平臺位元組順序為小位元組序、低位元組序
-host-big-endian .... 指定主機平臺位元組順序為大位元組序、高位元組序
注:只需指定目標平臺的位元組順序,否則將會選用主機的位元組順序
arm的編譯過程這項得加
-no-freetype ........
-qt-freetype ........ 禁用/啟用對freetype 模組的支援
* -system-freetype ....
詳詢 http://www.freetype.org/
-qconfig local ...... 在不指定此配置的情況下系統使用
src/corelib/global/qconfig-local.h
-depths <list> ...... 支援顯示裝置的位深度。有1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
-qt-decoration-<style> ....指定編譯後的介面風格預設是windows
-plugin-decoration-<style> 指定外掛風格預設windows
-no-decoration-<style> ....不知定風格採用預設選項
-no-opengl ..........
-opengl <api> ....... 禁用/開啟對opengl的支援
不指定型號則系統會自動檢測
注意:使用此選項的前提條件是硬體支援且可以驅動
-qt-gfx-<driver> ... 指定顯示裝置驅動庫
參考選項為:[ linuxfb transformed qvfb vnc multiscreen ]
-plugin-gfx-<driver> 指定顯示外掛驅動庫
參考選項為:[ ahi directfb hybrid linuxfb powervr qvfb transformed vnc ]
-no-gfx-<driver> ... 不載入顯示裝置
參考選項為: [ linuxfb transformed qvfb vnc multiscreen ]
-qt-kbd-<driver> ... 指定圖形介面下的鍵盤驅動庫
參考選項為: [ tty usb sl5000 yopy vr41xx qvfb ]
-plugin-kbd-<driver> E指定圖形介面下鍵盤外掛驅動庫
參考選項為: [ linuxis sl5000 usb vr41xx yopy ]
-no-kbd-<driver> ... 不載入指定驅動
參考選項為: [ tty usb sl5000 yopy vr41xx qvfb ]
-qt-mouse-<driver> ... 指定圖形介面下滑鼠驅動庫
參考選項為: [ pc bus linuxtp yopy vr41xx tslib(觸控式螢幕選這個) qvfb ]
-plugin-mouse-<driver> 滑鼠外掛驅動庫
參考選項為: [ bus linuxis linuxtp pc tslib vr41xx yopy ]
-no-mouse-<driver> ... 指定不載入的滑鼠驅動庫模組
參考選項為: [ pc bus linuxtp yopy vr41xx tslib qvfb ]
-iwmmxt ............ 編譯使用iwmmxt指令集,方便對某些XScale CPUs的支援
-no-glib ...........
+ -glib .............. 禁用/啟用對glib的支援