安裝選項
選項 | 作用 |
---|---|
-prefix <dir> | 指定部署目錄(默認 /usr/local/Qt-5.6.0) |
-extprefix <dir> | 安裝目錄(默認 SYSROOT/PREFIX) |
-hostprefix [dir] | 運行在這個主機上的構建工具的安裝目錄,如果不給定,使用當前目錄. (默認 EXTPREFIX) |
你可以用這些來改變安裝的佈局。請注意,所有目錄除sysconfdir
外,其他的應位於-prefix或者hostprefix下
選項 | 作用 |
---|---|
-bindir <dir> | 用戶可執行文件將安裝到這個目錄(默認 PREFIX/bin) |
-headerdir <dir> | 頭文件安裝目錄(默認 PREFIX/include) |
-libdir <dir> | 庫文件安裝目錄(默認 PREFIX/lib) |
-archdatadir <dir> | QT相關的數據將被安裝到<<目錄>(默認 PREFIX) |
-plugindir <dir> | 插件安裝目錄(默認 ARCHDATADIR/plugins) |
-libexecdir <dir> | 程序的可執行文件安裝目錄(默認 ARCHDATADIR/libexec, ARCHDATADIR/bin for MinGW) |
-importdir <dir> | 導入QML1安裝目錄(默認 ARCHDATADIR/imports) |
-qmldir <dir> | 導入QML2安裝目錄(默認 ARCHDATADIR/qml) |
-datadir <dir> | QT獨立的數據安裝目錄(default PREFIX) |
-docdir <dir> | 文檔安裝目錄(default DATADIR/doc) |
-translationdir <dir> | Qt程序的翻譯數據安裝目錄(default DATADIR/translations) |
-sysconfdir <dir> | 設置使用QT程序的搜尋目錄(default PREFIX/etc/xdg) |
-examplesdir <dir> | 示例文件安裝目錄(default PREFIX/examples) |
-testsdir <dir> | 測試文件安裝目錄(default PREFIX/tests) |
-hostbindir <dir> | 主機可執行文件安裝目錄(default HOSTPREFIX/bin) |
-hostlibdir <dir> | 主機庫文件安裝目錄(default HOSTPREFIX/lib) |
-hostdatadir <dir> | qmake使用數據安裝目錄(default HOSTPREFIX) |
Configure選項
下表中第一列中的*
表示默認並可行的。+
表示默認,但需要進行評估(檢測),評估通過纔可接受。
選項 | 作用 | |
---|---|---|
* | -release | 編譯和鏈接Qt的release版本 |
-debug | 編譯和鏈接debug版本 | |
-debug-and-release | 編譯和鏈接release和debug兩個版本(僅MAC) | |
-force-debug-info | 爲release構建創建符號鏈接 | |
-developer-build | Qt開發者編譯和鏈接選項(包括自動測試/輸出) | |
* | -no-optimized-tools | 即使在調試版本中,也不構建優化的主機工具 |
-optimized-tools | 構建優化的主機工具,即使在調試版本 | |
-opensource | 編譯和鏈接Qt開源版本 | |
-commercial | 編譯和鏈接的Qt商業版 | |
-confirm-license | 自動確認許可證(使用開源或是商業) | |
-c++std <edition> | 編譯QT使用的C++標準 (c++98, c++11, c++14, c++1z) 默認: 最高支持版本 | |
* | -shared | 創建並使用Qt共享庫. |
-static | 創建並使用QT靜態庫 | |
-no-largefile | 禁用大文件支持 | |
+ | -largefile | 啓用QT訪問大於4 GB的文件功能 |
-no-accessibility | 不編譯的可訪問性支持,禁用訪問不推薦,它將破壞QStyle並且可能影響QT構建 這個選項啓用將創建一個源不兼容版本的QT,這是不支持 |
|
+ | -accessibility | 編譯訪問支持. |
-no-sql-<driver> | 完全禁用SQL <driver> . | |
-qt-sql-<driver> | 在 Qt SQL 模塊啓用SQL <driver>,默認是不啓用的. | |
-plugin-sql-<driver> |
啓用SQL <driver\>作爲一個插件在運行時鏈接 | |
-system-sqlite | 利用操作系統SQLite | |
-no-qml-debug | 不構建在QML調試支持 | |
+ | -qml-debug | 構建QML調試支持 |
-platform target | 構建的目標操作系統和編譯器(默認檢測主機系統),讀readme文件獲取支持的操作系統和編譯器列表 | |
-no-sse2 | 編譯不要使用SSE2指令 | |
-no-sse3 | 編譯不要使用SSE3指令 | |
-no-ssse3 | 編譯不要使用SSSE3指令 | |
-no-sse4.1 | 編譯不要使用SSE4.1指令 | |
-no-sse4.2 | 編譯不要使用SSE4.2指令 | |
-no-avx | 編譯不要使用AVX指令 | |
-no-avx2 | 編譯不要使用AVX2指令 | |
-no-mips_dsp | 編譯不要使用MIPS DSP指令 | |
-no-mips_dspr2 | 編譯不要使用MIPS DSP Rev2指令 | |
-qtnamespace <name> | 把所有的Qt庫代碼放入namespace <name> {...} 中 |
|
-qtlibinfix <infix> | 重命名索引libQt*.so 爲libQt*<infix>.so |
|
-testcocoon | Instrument Qt with the TestCocoon code coverage tool. | |
-gcov | Instrument Qt with the GCov code coverage tool. | |
-D <string> | 顯示的添加一個宏定義到預處理器 | |
-I <string> | 顯示的添加一個包含路徑 | |
-L <string> | 顯示添加一個庫路徑 | |
+ | -pkg-config | 使用pkg-config檢測包括庫路徑。默認情況下,配置決定是否使用pkg-config或不具有啓發式如檢查環境變量。 |
-no-pkg-config | 禁用pkg-config支持 | |
-force-pkg-config | 強制使用pkg-config (跳過pkg-config可用性啓發式檢測). | |
-help, -h | 顯示幫助信息. |
第三方庫:
選項 | 作用 | |
---|---|---|
-qt-zlib | 使用QT自帶zlib庫 | |
+ | -system-zlib | 使用操作系統自帶的zlib庫。 |
-no-mtdev | 不要編譯mtdev支持 ,mtdev包含了應用程序對多點觸摸協議的支持 | |
+ | -mtdev | 啓用mtdev的支持. |
+ | -no-journald | 不要把日誌輸出到journald,Journald是爲Linux服務器打造的新系統日誌方式 |
-journald | 日誌輸出到journald | |
+ | -no-syslog | 不要輸出日誌到syslog. |
-syslog | 輸出日誌到syslog. | |
-no-gif | 不要編譯GIF讀取支持 | |
-no-libpng | 不要編譯PNG支持 | |
-qt-libpng | 使用Qt自帶的libpng | |
+ | -system-libpng | 使用操作系統自帶的libpng ,http://www.libpng.org/pub/png |
-no-libjpeg | 不要編譯JPEG支持. | |
-qt-libjpeg | 使用QT自帶的libjpeg. | |
+ | -system-libjpeg | 使用系統自帶的 libjpeg ,http://www.ijg.org |
-no-freetype | 不要編譯Freetype2的支持. | |
-qt-freetype | 使用QT自帶的libfreetype. | |
+ | -system-freetype | 使用系統自帶的libfreetype(假如存在) (啓用,如果-fontconfig選項開啓),http://www.freetype.org |
-no-harfbuzz | 不要編譯HarfBuzz-NG 支持. | |
* | -qt-harfbuzz | 使用QT自帶的HarfBuzz-NG 去進行文本構形. 仍然可以通過設置QT_HARFBUZZ 環境變量到”old”來禁用. |
-system-harfbuzz | 使用系統自帶的HarfBuzz-NG區進行文本構形.仍然可以通過設置QT_HARFBUZZ 環境變量到”old”來禁用 ,http://www.harfbuzz.org |
|
-no-openssl | 不要編譯OpenSSL的支持 | |
-openssl | 啓用運行時OpenSSL支持. | |
-openssl-linked | 啓用並鏈接OpenSSL支持 | |
-no-libproxy | 不要編譯libproxy的支持 | |
+ | -libproxy | 使用操作系統自帶的libproxy. |
-qt-pcre | 使用QT自帶的PCRE library. | |
+ | -system-pcre | 使用操作系統自帶的PCRE library |
-qt-xcb | 使用QT自帶的xcb-libraries. (libxcb.so 將仍然使用操作系統自帶的). |
|
+ | -system-xcb | 使用操作吸引自帶的xcb- libraries . |
-xkb-config-root | 設置默認的XKB config root. 這個選項僅與-qt-xkbcommon-x11一起使用. | |
-qt-xkbcommon-x11 | 在構建xcb中使用QT自帶的xkbcommon library . | |
+ | -system-xkbcommon-x11 | 在構建xcb中使用操作系統自帶的 xkbcommon library. |
-no-xkbcommon-evdev | 當編譯libinput支持時,不使用X-less xkbcommon. | |
* | -xkbcommon-evdev | 當編譯libinput支持時,使用X-less xkbcommon. |
-no-xinput2 | 不要編譯XInput2的支持. | |
* | -xinput2 | 編譯XInput2支持. |
-no-xcb-xlib | 不要編譯Xcb-Xlib支持. | |
* | -xcb-xlib | 編譯 Xcb-Xlib支持. |
-no-glib | 不要編譯 Glib 支持. | |
+ | -glib | 編譯 Glib 支持. |
-no-pulseaudio | 不要編譯PulseAudio 支持. | |
+ | -pulseaudio | 編譯 PulseAudio 支持. |
-no-alsa | 不要編譯 ALSA 支持. | |
+ | -alsa | 編譯 ALSA 支持. |
-no-gtkstyle | 不要編譯GTK theme 支持. | |
+ | -gtkstyle | 編譯 GTK theme 支持. |
附加選項:
選項 | 作用 | |
---|---|---|
-make <part> | 在make時添加要構建的組件. (默認爲:libs tools examples | |
-nomake <part> | 在構建時排除組件 | |
-skip <module> | 排除整個模塊的建立 | |
-no-compile-examples | 僅安裝examples的源碼,不要編譯它. | |
-no-gui | 不要構建Qt GUI模塊和依賴. | |
+ | -gui | 構建Qt GUI 模塊和依賴. |
-no-widgets | 不要構建Qt Widgets 模塊和依賴. | |
+ | -widgets | 構建 Qt Widgets模塊和依賴 |
-R <string> | 顯示添加一個運行時庫的路徑去構建Qt libraries. | |
-l <string> | 顯示添加一個library. | |
-no-rpath | 不使用庫安裝路徑作爲一個運行時庫路徑 在蘋果的平臺上,這意味着使用絕對安裝名稱(基於在libdir)動態庫和框架。 |
|
+ | -rpath | 鏈接 Qt 庫和可執行文件使用庫安裝路徑作爲運行時庫路徑。相當於-R install_libpath |
-continue | 如果發生錯誤,儘量繼續。 | |
-verbose, -v | 打印每個步驟的配置過程的詳細的信息。 | |
-silent | 減少生成輸出,這樣可以更容易看到警告和錯誤。 | |
-no-nis | 不要編譯NIS 支持. | |
* | -nis | 編譯 NIS 支持. |
-no-cups | 不要編譯CUPS支持. | |
* | -cups | 編譯CUPS支持. 要求 cups/cups.h 和libcups.so.2. |
-no-iconv | 不編譯對 iconv(3) 的支持。 | |
* | -iconv | 編譯對 iconv(3) 的支持。 |
-no-evdev | 不編譯對 evdev 的支持。 | |
* | -evdev | 編譯對 evdev 的支持。 |
-no-tslib | 不編譯對 tslib 的支持 tslib是對觸屏的支持 |
|
* | -tslib | 編譯對 tslib 的支持. |
-no-icu | 不編譯對 ICU libraries 的支持. 這是IBM發佈的字符集編碼轉換庫 |
|
+ | -icu | 編譯對 ICU libraries 的支持. |
-no-fontconfig | 不編譯系統中的FontConfig支持 | |
+ | -fontconfig | 編譯系統中的FontConfig支持 |
-no-strip | 不對二進制文件和庫的使用strip去除不需要的符號. | |
* | -strip | 在安裝時對二進制文件和庫的使用strip去除不需要的符號 |
* | -no-pch | 不使用預編譯的頭支持. |
-pch | 使用預編譯的頭支持. | |
* | -no-ltcg | 不使用鏈接時代碼生成 |
-ltcg | 使用鏈接時代碼生成. | |
-no-dbus | 不要編譯Qt D-Bus 模塊. | |
+ | -dbus-linked | 編譯Qt D-Bus模塊並鏈接到libdbus-1. |
-dbus-runtime | 編譯Qt D-Bus模塊並動態加載libdbus-1. | |
-reduce-relocations | 減少通過額外的鏈接器優化庫的重加載 ,(僅qt/X11 和Qt/linux嵌入式 ;實驗性的;需要 GNU ld > = 2.18) | |
-no-use-gold-linker | 不要使用GNU gold linker進行鏈接. | |
+ | -use-gold-linker | 使用GNU gold linker進行鏈接. |
-force-asserts | 強制啓用Q_ASSERT,即使在release構建中. | |
sanitize
|
啓用指定編譯器的sanitizer. | |
-device <name> | 跨平臺編譯<name> 設備 (試驗性) |
|
-device-option <key=value> |
添加device mkspec的device選項 (試驗性) | |
* | -no-separate-debug-info | 不將調試信息存儲在一個單獨的文件 |
-separate-debug-info | 將調試信息到一個單獨的文件 | |
-no-xcb | 不要編譯Xcb (X protocol C-language Binding) 支持. | |
* | -xcb | 編譯 Xcb 支持. |
-no-eglfs | 不要編譯EGLFS (EGL Full Screen/Single Surface) 支持. | |
* | -eglfs | 編譯 EGLFS 支持. |
-no-kms | 不要編譯KMS的後端. | |
* | -kms | 編譯 KMS的後端. |
-no-gbm | 不要編譯 GBM 的後端. | |
* | -gbm | 編譯 GBM的後端. |
-no-directfb | 不要編譯 DirectFB 支持. | |
* | -directfb | 編譯 DirectFB 支持. |
-no-linuxfb | 不要編譯Linux Framebuffer 支持. | |
* | -linuxfb | 編譯 Linux Framebuffer 支持. |
* | -no-mirclient | 不要編譯 Mir client 支持. |
-mirclient | 編譯 Mir client 支持. | |
-qpa <name> | 設置默認的QPA 平臺 (示例 xcb, cocoa, windows). | |
-xplatform target | 指定目標平臺(在跨平臺編譯時) | |
-sysroot <dir> | 將<dir> 設置爲目標編譯器和 qmake 的 sysroot 並且也設置 pkg-confing路徑. |
|
-no-gcc-sysroot | 當使用-sysroot時, 它禁用將–sysroot傳遞到編譯器 | |
-no-feature-<feature> |
在<feature> 中的不編譯. |
|
-feature-<feature> |
編譯<feature> 中的. 可用的功能介紹在src/corelib/global/qfeatures.txt |
|
-qconfig local | 使用src/corelib/global/qconfig-local.h ,而不是默認的(全部). | |
-qreal [double/float] | 爲qreal指定類型.默認值是double。請注意,更改此標誌影響二進制兼容性。 | |
-no-opengl | 禁用OpenGL支持. | |
-opengl <api> | 啓用 OpenGL 支持.不帶參數時,這將會嘗試自動檢測的 OpenGL ES 2.0 和更高版本,或常規的桌面版OpenGL. 使用 es2 的<api> 將替代自動檢測 |
|
-no-libinput | 禁用libinput支持. | |
* | -libinput | 啓用libinput 支持. |
-no-gstreamer | 禁用GStreamer支持. | |
+ | -gstreamer <version> |
啓用 GStreamer 支持。不帶參數,這將會嘗試自動檢測 GStreamer 0.10 和 1.0。GStreamer 1.0 是默認使用的可用時。使用 0.10 或 1.0 <version> 來覆蓋自動檢測。 |
* | -no-system-proxies | 默認情況下,不使用系統網絡代理 |
-system-proxies | 默認情況下,使用系統網絡代理 | |
-no-warnings-are-errors | Make 時把warnings當做正常 | |
-warnings-are-errors | Make時把warnings 當做錯誤 (如果啓用了-developer-build) |
QNX/Blackberry 選項:
選項 | 作用 |
---|---|
-no-slog2 | 不編譯 slog2 的支持 |
-slog2 | 編譯 slog2 的支持 |
-no-pps | 不編譯 pps 的支持 |
-pps | 編譯 pps 的支持 |
-no-imf | 不編譯 imf 的支持 |
-imf | 編譯 imf 的支持 |
-no-lgmon | 不編譯 lgmon 的支持 |
-lgmon | 編譯 lgmon 的支持 |
Android 選項:
選項 | 作用 | |
---|---|---|
-android-sdk path | Android SDK 根目錄 (默認 $ANDROID_SDK_ROOT) |
|
-android-ndk path | Android NDK 根目錄. (默認 $ANDROID_NDK_ROOT) |
|
-android-ndk-platform | 設置android 平臺版本 (默認 android-9) |
|
-android-ndk-host | 設置android NDK 主機類型 (linux-x86, linux-x86_64, etc.) (默認 $ANDROID_NDK_HOST) |
|
-android-arch | 設置android 體系結構 (armeabi, armeabi-v7a, x86, mips, arm64-v8a, x86_64, mips64) (默認 armeabi-v7a) |
|
-android-toolchain-version | 設置android 工具鏈版本 (默認 4.9) |
|
-no-android-style-assets | 不編譯 通過運行時設備自動提取style-assets的代碼. 設置這將使Android風格的行爲不當,但與lgpl2.1許可兼容 |
|
* | -android-style-assets | 編譯 通過運行時設備自動提取style-assets的代碼. 此選項將使Android平臺的lgpl2.1許可不兼容。 |