Qt 源码编译 configure 参数列表
## configure meta
```
-help,-h ............显示此帮助屏幕
-verbose,-v .........在配置期间输出详细消息
-continue............尽管有错误仍然继续配置
-redo ................用以前使用的选项重新配置。其他选项可能会通过,但不会保存以供-redo稍后使用。
-recheck .............放弃缓存的负配置测试结果。安装缺失的依赖关系后使用它。
-recheck-all .........放弃所有缓存的配置测试结果。
-feature- <特征> ...启用<特征>
-no-feature- <feature>禁用<feature>
-list-features .......列出可用功能。请注意一些功能也有专用的命令行选项。
-list-libraries ......列出可能的外部依赖关系。
```
## Build options
```
-opensource ..........构建Qt的开源版本
-commercial ..........构建Qt的商业版
-confirm-license .....自动确认许可证
-release.............关闭调试版本的Qt
-debug ...............打开调试生成Qt
-debug-and-release ...构建两个版本的Qt,包含和不包含打开调试[是](仅适用于Apple和Windows)
-optimize-debug ......在调试版本中启用调试友好的优化[自动](MSVC不支持)
-optimize-size .......优化发布版本的大小而不是速度
-optimized-tools .....甚至在调试版本中构建优化的主机工具
-force-debug-info ....为发布版本创建符号文件
-separate-debug-info。分离调试信息以分离文件
-strip ...............释放不需要的符号的二进制文件[是]
-force-asserts .......即使在发布版本中启用Q_ASSERT
-developer-build .....编译并链接Qt以开发Qt本身(用于自动测试的出口,额外检查等)
-shared..............建立共享的Qt库[是](不适用于UIKit)
-static ..............构建静态Qt库(对于UIKit是)
-framework ...........构建Qt框架包[是](仅限Apple)
-platform <target> ...选择主机mkspec [检测到]
-xplatform <target> ..交叉编译时选择target mkspec
-device <name> .......交叉编译设备<name>
-device-option <key = value> ...为设备mkspec添加选项
-appstore-compliant ..禁用平台应用商店中不允许使用的代码。默认情况下,默认情况下,默认情况下,平台需要通过默认应用商店进行分发,特别是Android,iOS,tvOS,watchOS和Universal Windows Platform。 [汽车]
-qtnamespace <name> ..将所有Qt库代码封装在'namespace <name> {...}'中。
-qtlibinfix <infix>将所有libQt5 * .so重命名为libQt5 * <infix> .so。
-testcocoon ..........带有TestCocoon代码覆盖工具的仪器
-gcov ................具有GCov代码覆盖工具的仪器
-sanitize {address | thread | memory | undefined}仪器与指定的编译器消毒剂。
-c ++ std <edition> ....选择C ++标准<edition> (不支持MSVC)
-sse2 ................使用SSE2指令[自动]
-sse3 / -ssse3 / -sse4.1 / -sse4.2 / -avx / -avx2 / -avx512启用特定的x86指令启用的仍然受到运行时检测。
-mips_dsp / -mips_dspr2使用MIPS DSP / rev2指令
-qreal <type> ........ typedef qreal到指定的类型。 [双]注意:这会影响二进制兼容性。
-R <string> ..........为Qt添加一个显式的运行时库路径库。支持相对于LIBDIR的路径。
-rpath ...............使用库链接Qt库和可执行文件将路径安装为运行时库路径。如同-R LIBDIR。在苹果平台上,禁用这意味着使用绝对安装名称(基于 LIBDIR)动态库和框架。 [汽车]减少输出......减少输出符号的数量[自动]
-reuce-relocations ..减少重定位量(仅适用于Unix)
-plugin-manifests ....将清单嵌入插件(仅限Windows)
-static-runtime ......使用-static,使用静态运行时(仅限Windows)
-pch .................使用预编译头文件
-ltcg ................使用链接时间码生成
-use-gold-linker .....使用GNU gold链接器
-incredibuild-xge ....使用IncrediBuild XGE (仅限Windows)
-ccache ..............使用ccache编译器缓存(仅适用于Unix)
-make-tool <tool> ....使用<tool>构建qmake (仅适用于Windows)
-mp ..................使用多个处理器进行编译(仅限MSVC)
-warnings-are-errors。将警告视为错误
-silent ..............减少构建输出以便发出警告和错误可以更容易地看到
```
## Build environment
```
-sysroot <dir> ....... 将<dir>设置为目标sysroot
-gcc-sysroot ......... 使用-sysroot,将编译器通过--sysroot
-pkg-config ..........使用pkg-config (仅适用于Unix)
-D <string> ..........传递附加的预处理器定义
-I <string> ..........传递额外的包含路径
-L <string> ..........传递额外的库路径
-F <string> ..........传递额外的框架路径(仅适用于Apple)
-sdk <sdk> ...........使用Apple提供的SDK <sdk>构建Qt。争论应该是以下列出的可用SDK之一'xcodebuild -showsdks'。请注意,该参数仅适用于Qt库和使用目标mkspec构建的应用程序 - 不是主机工具,如qmake,moc,rcc等。
-android-sdk path ....设置Android SDK根路径[$ ANDROID_SDK_ROOT]
-android-ndk路径....设置Android NDK根路径[$ ANDROID_NDK_ROOT]
-android-ndk-platform设置Android平台
-android-ndk-host ....设置Android NDK主机(linux-x86,linux-x86_64等)[$ ANDROID_NDK_HOST]
-android-arch ........设置Android体系结构(armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64)
-android-toolchain-version ...设置Android工具链版本
-android-style-assets自动从设备中提取样式资产运行。此选项使Android样式表现良好正确的,但也使得Android平台插件与LGPL2.1不兼容。 [是]
```
## Component selection
```
-skip <repo> .........从构建中排除整个存储库。
-make <part> .........将<part>添加到要构建的零件列表中。指定此选项将首先清除默认列表。[库和例子,如果不是交叉构建也是工具,还测试是否 -
开发人员构建]
-nomake <part> .......从要构建的零件列表中排除<part>。
-compile-examples ....未设置时,只安装示例的源代码[是]
-gui .................构建Qt GUI模块和依赖
-widgets .............编译Qt Widgets模块和依赖
-no-dbus .............不要构建Qt D-Bus模块
-dbus-linked .........构建Qt D-Bus并链接到libdbus-1
-dbus-runtime ........构建Qt D-Bus并动态加载libdbus-1
-accessibility.......启用可访问性支持[是]注意:不建议禁用可访问性。
-qml-debug ...........启用QML调试支持
Qt附带一些第三方库的捆绑副本。这些被使用默认情况下,如果自动检测相应的系统库失败。
```
## Core options
```
-doubleconversion ....选择使用的双转换库没有暗示使用sscanf_l和snprintf_l(不精确)。
-glib ................启用Glib支持
-eventfd .............启用eventfd支持
-inotify .............启用inotify支持
-iconv ...............启用iconv(3)支持(仅适用于Unix)
-icu .................启用ICU支持[自动]
-pcre ................选择使用的libpcre2
-pps .................启用PPS支持[自动](仅限QNX)
-zlib ................选择用过的zlib
```
## Logging backends
```
-Journald ..........启用日志支持(仅限Unix)
-syslog ............启用syslog支持(仅适用于Unix)
-slog2 .............启用slog2支持[自动](仅限QNX)
```
## Network options
```
-ssl .................启用SSL支持方法[自动]
-no-openssl ..........不要使用OpenSSL
-openssl-linked ......使用OpenSSL并链接到libssl
-openssl-runtime .....使用OpenSSL并动态加载libssl
-securetransport .....使用SecureTransport (仅限Apple)
-sctp ................启用SCTP支持
-libproxy ............启用libproxy的使用
-system-proxies ......默认使用系统网络代理
```
## GUI, printing, widget options
```
-cups ................启用CUPS支持[自动](仅适用于Unix)
-fontconfig ..........启用Fontconfig支持(仅适用于Unix)
-freetype ............选择使用的FreeType
-harfbuzz ............选择用过的HarfBuzz-NG [系统/ qt / no](不在Apple和Windows上自动检测)
-gtk .................启用GTK平台主题支持
-lgmon ...............启用lgmon支持[自动](仅限QNX)
-no-opengl ...........禁用OpenGL支持
-opengl <api> ........启用OpenGL支持。支持的API:es2(在Windows上默认),桌面(在Unix上默认),动态(仅限Windows)
-opengles3 ...........启用OpenGL ES 3.x支持而不是ES 2.x [自动]
-angle ...............使用捆绑的ANGLE支持OpenGL ES 2.0 [自动](仅限Windows)
-combined-angle-lib ..将LibEGL和LibGLESv2合并到LibANGLE(仅限Windows)
-qpa <name> ..........选择默认的QPA后端(例如,xcb,cocoa,windows)
-xcb-xlib .............启用Xcb-Xlib支持
```
## Platform backends
```
-direct2d ..........启用Direct2D支持[自动](仅限Windows)
-directfb ..........启用DirectFB支持(仅适用于Unix)
-eglfs .............启用EGLFS支持
-gbm ...............为GBM 启用后端(仅限Linux)
-kms ...............启用KMS 的后端(仅适用于Linux)
-linuxfb ...........启用Linux Framebuffer支持(仅限Linux)
-mirclient .........启用Mir客户端支持(仅Linux)
-xcb ...............选择使用的xcb- *库(-qt-xcb仍然使用libxcb本身的系统版本)
```
## Input backends
```
-evdev .............启用evdev支持
-imf ...............启用IMF支持[自动](仅限QNX)
-libinput ..........启用libinput支持
-mtdev .............启用mtdev支持
-tslib .............启用tslib支持[自动]
-xinput2 ...........启用XInput2支持[自动]
-xkbcommon-x11 .....选择与xcb结合使用的xkbcommon[系统/ QT / NO]
-xkb-config-root <dir> ...使用-qt-xkbcommon-x11,设置默认的XKB配置根目录<dir> [检测]
-xkbcommon-evdev ...启用X-less xkbcommon与libinput结合使用[汽车]
```
## Image formats
```
-gif ...............启用对GIF的读取支持[自动]
-ico ...............启用对ICO的支持[是]
-libpng ............选择用过的libpng
-libjpeg ...........选择使用的libjpeg
```
## Database options
```
-sql- <driver> ........启用SQL <驱动程序>插件。支持的驱动db2 ibase mysql oci odbc psql sqlite2 sqlite tds[全自动]
-sqlite ..............选择用过的sqlite3 [系统/ qt]
```
## Qt3D options
```
-assimp ..............选择使用的assimp库
-qt3d-profile-jobs ...启用作业分析
-qt3d-profile-gl .....启用OpenGL分析
-qt3d-simd ...........选择SIMD支持级别
-qt3d-render .........启用Qt3D渲染方面[是]
-qt3d-input ..........启用Qt3D输入方面[是]
-qt3d-logic ..........启用Qt3D逻辑方面[是]
-qt3d-extras .........启用Qt3D Extras方面
-qt3d-animation .......启用Qt3D动画方面[是]
```
## Multimedia options
```
-pulseaudio ..........启用PulseAudio支持[自动](仅适用于Unix)
-alsa ................启用ALSA支持[自动](仅适用于Unix)
-no-gstreamer ........禁用对GStreamer的支持
-gstreamer [版本]。启用GStreamer支持[自动]在没有参数的情况下,首先尝试1.0,然后再尝试0.10。
-mediaplayer-backend <名称> ...选择媒体播放器后端(仅限Windows)支持的后端:directshow(默认),wmf
```
## Webengine options
```
-webengine-alsa ................启用ALSA支持[自动](仅限Linux)
-webengine-pulseaudio ..........启用PulseAudio支持[自动](仅限Linux)
-webengine-embedded-build ......启用Linux嵌入式构建(仅限Linux)
-webengine-icu .................使用系统ICU库(仅限Linux)
-webengine -ffmpeg ..............使用系统FFmpeg库(仅限Linux)
-webengine-opus ................使用系统Opus库(仅限Linux)
-webengine-webp ................使用系统WebP库(仅限Linux)
-webengine-pepper-plugins ......启用Pepper Flash和Widevine插件[自动]
-webengine-printing-and-pdf ....启用打印和输出到PDF[汽车]
-webengine-proprietary-codecs ..启用对专有编解码器的支持
-webengine-spellchecker ........启用对拼写检查程序的支持[是]
-webengine-native-spellchecker。启用对原生拼写检查器的支持[否](仅限macOS)
-webengine-webrtc ..............启用对WebRTC的支持[自动]
```
页:
[1]