Qt源码编译configure配置参数

Qt源码编译configure配置参数

相关文章

Configure理解命令行上的变量赋值,比如VAR=value。每个大写的库名(可通过 -list-libraries获得)都支持后缀_INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=PREFIX/lib),和- on Windows和Darwin - LIBS_DEBUG和_LIBS_RELEASE。例如,
ICU_PREFIX=/opt/icu42 ICU_LIBS="-licui18n -licuuc -licudata"
也可以操作任何QMAKE
*变量来修改值从构建Qt本身的mkspec,例如QMAKE_CXXFLAGS+=-g3。

顶级安装目录:

[options] [assignments] [说明]
-prefix 指定在目标设备上的部署目录,默认/usr/local/Qt-$QT_VERSION,$PWD if -developer-build
-extprefix 安装目录, 主机上默认值[SYSROOT/PREFIX]
-hostprefix [dir] 运行在主机上的构建工具的安装目录. 如果没有给出[dir],则使用当前构建目录[EXTPREFIX]
-external-hostbindir 为这台机器构建的Qt工具的路径。当-platform与当前系统不匹配时,构建交叉编译

微调安装目录。注意,除-sysconfdir之外的所有目录都应该位于-prefix/-hostprefix下:

[options] [assignments] [说明]
-bindir 可执行文件目录 [PREFIX/bin]
-headerdir 头文件目录[PREFIX/include]
-libdir 库文件目录 [PREFIX/lib]
-archdatadir Arch 依赖的数据目录 [PREFIX]
-plugindir 插件目录 [ARCHDATADIR/plugins]
-libexecdir 辅助程序目录 [ Windows 默认ARCHDATADIR/bin,其它默认 ARCHDATADIR/libexec ]
-importdir QML1 imports模块 目录 [ARCHDATADIR/imports]
-qmldir QML2 imports模块 目录[ARCHDATADIR/qml]
-datadir Arch 独立数据目录 [PREFIX]
-docdir 文档目录 [DATADIR/doc]
-translationdir Qt程序的翻译数据安装目录 [DATADIR/translations]
-sysconfdir Qt程序使用的设置目录 [PREFIX/etc/xdg]
-examplesdir 示例文件安装目录 [PREFIX/examples]
-testsdir 测试文件安装目录 [PREFIX/tests]
-hostbindir 主机可执行文件安装目录 [HOSTPREFIX/bin]
-hostlibdir 主机库文件安装目录 [HOSTPREFIX/lib]
-hostdatadir qmake使用数据安装目录 [HOSTPREFIX]

其余选项的约定:当一个选项的描述是解释如下:
yes代表最基本的选择;所有其他值都是可能的前缀选项,例如-no-gui。或者,可以分配值,例如,--gui = yes
如果没有指定,则按尝试的顺序列出值;auto表示yes/no的缩写。单独的yesno表示选项没有自动选择。

Configure选项:

[options] [说明]
-help, -h 显示本帮助文档
-verbose, -v 打印显示配置信息
-continue 如果发生错误,尽量继续
-redo 使用以前使用过的选项重新配置。可以传递其他选项
-recheck 丢弃缓存的负配置测试结果。安装丢失的依赖项后使用此功能
-recheck-all 丢弃所有缓存的配置测试结果
-feature- 启用
-no-feature- 禁止
-list-features 列出可用功能列表。注意,一些特性也有专用的命令行选项
-list-libraries 列出可能的外部依赖

构建选项:

[options] [说明]
-opensource 构建Qt的开源版本
-commercial 构建Qt的商业版本
-confirm-license 自动确认许可
-release 构建Qt的release版本 [yes]
-debug 构建Qt的debug版本[no]
-debug-and-release 构建Qt的debug和release版本 [yes] (仅支持 Apple 系统 和 Windows 系统)
-optimize-debug 在调试构建中启用调试友好的优化[ auto ](不支持MSVC)
-optimize-size 优化版本构建的大小而不是速度[no]
-optimized-tools 构建优化的主机工具,即使在debug版本 [no]
-force-debug-info 为release构建创建符号文件[no]
-separate-debug-info 将调试信息分离到单独的文件中 [no]
-strip 去掉 release版本 不需要的符号 [yes]
-force-asserts 启用Q_ASSERT,即使在release构建中[no]
-developer-build 编译并链接Qt以开发Qt本身(导出用于自动测试、额外检查等) [no]
-shared 构建共享Qt库[yes](不用于UIKit)
-static 构建静态Qt库[no] (用于UIKit)
-framework 构建Qt框架包[yes](仅适用于Apple)
-platform 指定目标操作系统和编译器,选择mkspec[detected]
-xplatform 交叉编译时选择目标mkspec [PLATFORM]
-device 指定交叉编译的目标设备
-device-option 为目标设备mkspec添加选项
-appstore-compliant 禁用平台应用程序商店中不允许的代码。对于需要通过应用程序商店分发的平台,特别是Android、iOS、tvOS、watchOS和通用Windows平台,这是默认打开的 [auto]
-qtnamespace 把所有的Qt库代码放入namespace {…}中
-qtlibinfix 重命名所有libQt5 * 为 libQt5 * . so
-testcocoon 使用TestCocoon代码覆盖工具测试 [no]
-gcov 使用GCov代码覆盖工具测试 [no]
-sanitize {address|thread|memory|undefined} 使用指定编译器sanitizer测试
-c++std 选择C++标准 [C++ 12 / C++ 14/ C++ 11](不支持MSVC)
-sse2 使用SSE2指令 [auto]
-sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512 启用特定x86指令的使用,启用的指令仍然要接受运行时检测,[auto]
-mips_dsp/-mips_dspr2 使用MIPS DSP/rev2指令 [auto]
-qreal 为qreal指定类型.默认值是double 。请注意,更改此标志影响二进制兼容性
-R 向Qt库添加显式运行时库路径。支持相对于LIBDIR的路径
-rpath 使用库安装路径作为运行时库路径链接Qt库和可执行程序。类似于-R LIBDIR。在苹果平台上,禁用它意味着对动态库和框架使用绝对安装路径(基于LIBDIR) [auto]
-reduce-exports 减少导出符号的数量 [auto]
-reduce-relocations 减少重定位的数量[auto] (只适用于Unix)
-plugin-manifests 将manifests嵌入插件[no] (仅限Windows)
-static-runtime 使用-static选项时,使用静态运行时[no] (仅限Windows)
-pch 使用预编译头 [auto]
-ltcg 使用链接时代码生成 [no]
-use-gold-linker 使用GNU gold链接器 [auto]
-incredibuild-xge 使用IncrediBuild XGE [no] (仅限Windows)
-make-tool 使指定的工具构建qmake [nmake](仅限Windows)
-mp 使用多个处理器编译 (仅限MSVC)
-warnings-are-errors 视警告为错误 默认no;如果指定-developer-build选项则为yes
-silent … Reduce the build output so that warnings and errors can be seen more easily

构建环境:

[options] [说明]
-sysroot 设置目标sysroot为
-gcc-sysroot 使用-sysroot选项,将-sysroot传递给编译器 [yes]
-pkg-config 使用pkg-config[auto] (仅限Unix)
-D 添加一个宏定义到预处理器
-I 添加一个头文件包含路径
-L 添加一个库文件路径
-F 添加一个框架路径 (仅限Apple)
-sdk 使用苹果提供的SDK构建Qt < SDK >。参数应该是“xcodebuild -showsdks”列出的可用SDKs之一。注意,这个参数只适用于使用目标mkspec构建的Qt库和应用程序,而不是像qmake、moc、rcc等主机工具。
-android-sdk path 设置Android SDK根目录 [$ANDROID_SDK_ROOT]
-android-ndk path 设置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不兼容 [yes]

组件选项:

[options] [说明]
-skip 从构建中排除整个存储库.
-make 在make时添加要构建的组件.指定此选项将首先清除默认列表. [libs examples tools 如果不是 cross-building,甚至还有 tests 如果指定 -developer-build]
-nomake 从要构建的部件列表中排除.
-compile-examples 取消设置时,只安装示例的源代码[yes]
-gui 构建Qt GUI模块和依赖项 [yes]
-widgets 构建Qt Widgets模块和依赖项 [yes]
-no-dbus 不要构建Qt D-Bus模块[Android和Windows默认]
-dbus-linked 构建Qt D-Bus并链接到libdbus-1 [auto]
-dbus-runtime 构建Qt D-Bus,动态加载libdbus-1 [no]
-accessibility 启用可访问性支持[yes]注意:不建议禁用可访问性
-qml-debug 启用QML调试支持 [yes]

核心选项:

Qt附带一些第三方库的捆绑副本。如果自动检测各自的系统库失败,默认情况下将使用这些。

[options] [说明]
-doubleconversion 选择使用 doubleconversion 库 ,取值[system/qt/no] 。 No意味着使用sscanf_l和snprintf_l(不精确)
-glib 启用Glib支持 [no; auto on Unix]
-eventfd 启用eventfd支持
-inotify 启用inotify支持
-iconv 启用iconv(3)支持 [posix/sun/gnu/no] (仅限Unix)
-icu 启用ICU支持 [auto]
-pcre 选择使用libpcre2 [system/qt]
-pps 启用PPS支持 [auto] (仅限QNX)
-zlib 选择使用zlib [system/qt]

日志后端:

[options] [说明]
-journald 启用journald支持 [no] (仅限Unix)
-syslog 启用syslog支持 [no] (仅限Unix)
-slog2 启用slog2支持 [auto] (仅限QNX)

网络选项:

[options] [说明]
-ssl 启用任何SSL支持方法 [auto]
-no-openssl 不使用OpenSSL[默认在苹果和WinRT上]
-openssl-linked 使用OpenSSL并链接到libssl [no]
-openssl-runtime 使用OpenSSL并动态加载libssl [auto]
-securetransport 使用SecureTransport [auto] (仅限于苹果)
-sctp 启用SCTP支持[no]
-libproxy 启用libproxy [no]
-system-proxies 默认使用系统网络代理[yes]

Gui, 打印, widget 选项:

[options] [说明]
-cups 启用 CUPS 支持 [auto] (仅限Unix)
-fontconfig 启用字体配置支持 [auto] (仅限Unix)
-freetype 选择使用FreeType, 取值[system/qt/no]
-harfbuzz 选择使用 HarfBuzz-NG ,取值[system/qt/no] (苹果和Windows没有自动检测)
-gtk 启用GTK平台主题支持 [auto]
-lgmon 启用lgmon支持[auto] (仅限QNX)
-no-opengl 禁用 OpenGL 支持
-opengl 启用OpenGL的支持。支持的api: es2 (Windows默认)、desktop (Unix默认)、dynamic(仅Windows)
-opengles3 启用 OpenGL ES 3.x 代替 OpenGL ES 2.x [auto]
-angle 使用绑定的角度来支持OpenGL es2.0 [auto] (仅限Windows)
-combined-angle-lib 将LibEGL和LibGLESv2合并到LibANGLE 中(仅限Windows)
-qpa 选择默认的QPA后端(例如,xcb、cocoa、windows)
-xcb-xlib 启用Xcb-Xlib支持 [auto]

平台后端:

[options] [说明]
-direct2d 启用Direct2D支持[auto] (仅限Windows)
-directfb 启用 DirectFB 支持 [no] (仅限Unix)
-eglfs 启用 EGLFS 支持 [auto;在Android 和 Windows取值 no ]
-gbm 启用GBM的后端 [auto] (仅限Linux)
-kms 启用KMS的后端 [auto] (仅限Linux)
-linuxfb 启用Linux Framebuffer支持 [auto] (仅限Linux)
-mirclient 启用Mir客户端支持 [no] (仅限Linux)
-xcb 选择使用的xcb-*库 取值[system/qt/no] (-qt-xcb仍然使用系统版本的libxcb)

输入后端:

[options] [说明]
-evdev 启用evdev支持[auto]
-imf 启用IMF支持 [auto] (QNX only)
-libinput 启用libinput支持 [auto]
-mtdev 启用mtdev支持[auto]
-tslib 启用tslib支持 [auto]
-xinput2 启用XInput2支持 [auto]
-xkbcommon-x11 选择与xkbcommon结合使用的 xcb 取值 [system/qt/no]
-xkb-config-root 使用-qt-xkbcommon-x11,设置默认的XKB配置根目录 [detect]
-xkbcommon-evdev 结合libinput启用X-less xkbcommon [auto]

图片格式:

[options] [说明]
-gif 启用GIF支持 [auto]
-ico 启用ICO支持 [yes]
-libpng 启用libpng支持 [system/qt/no]
-libjpeg 启用libjpeg支持 [system/qt/no]

数据库选项:

[options] [说明]
-sql- 启用SQL plugin。支持驱动程序 :db2 ibase mysql oci odbc psql sqlite2 sqlite tds [auto]
-sqlite 选择使用 sqlite3 取值[system/qt]

Qt3D 选项:

[options] [说明]
-assimp 选择assimp库 ,取值[system/qt/no]
-qt3d-profile-jobs 启用jobs分析 [no]
-qt3d-profile-gl 启用OpenGL分析 [no]

多媒体选项:

[options] [说明]
-pulseaudio 启用PulseAudio支持[auto] (Unix only)
-alsa 启用ALSA支持[auto] (Unix only)
-no-gstreamer 禁止使用 GStreamer
-gstreamer [version] 启用GStreamer支持[auto],不带参数,先尝试1.0,然后尝试0.10.
-mediaplayer-backend 选择media player后端(只支持Windows)支持后端:directshow(默认),wmf

你可能感兴趣的:(ubuntu,QT/QML)