Qt源码编译configure配置参数

59 篇文章 3 订阅

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<dir>指定在目标设备上的部署目录,默认/usr/local/Qt-$QT_VERSION,$PWD if -developer-build
-extprefix<dir>安装目录, 主机上默认值[SYSROOT/PREFIX]
-hostprefix[dir]运行在主机上的构建工具的安装目录. 如果没有给出[dir],则使用当前构建目录[EXTPREFIX]
-external-hostbindir<path>为这台机器构建的Qt工具的路径。当-platform与当前系统不匹配时,构建交叉编译
微调安装目录。注意,除-sysconfdir之外的所有目录都应该位于-prefix/-hostprefix下:
[options][assignments][说明]
-bindir<dir>可执行文件目录 [PREFIX/bin]
-headerdir<dir>头文件目录[PREFIX/include]
-libdir<dir>库文件目录 [PREFIX/lib]
-archdatadir<dir>Arch 依赖的数据目录 [PREFIX]
-plugindir<dir>插件目录 [ARCHDATADIR/plugins]
-libexecdir<dir>辅助程序目录 [ Windows 默认ARCHDATADIR/bin,其它默认 ARCHDATADIR/libexec ]
-importdir<dir>QML1 imports模块 目录 [ARCHDATADIR/imports]
-qmldir<dir>QML2 imports模块 目录[ARCHDATADIR/qml]
-datadir<dir>Arch 独立数据目录 [PREFIX]
-docdir<dir>文档目录 [DATADIR/doc]
-translationdir<dir>Qt程序的翻译数据安装目录 [DATADIR/translations]
-sysconfdir<dir>Qt程序使用的设置目录 [PREFIX/etc/xdg]
-examplesdir<dir>示例文件安装目录 [PREFIX/examples]
-testsdir<dir>测试文件安装目录 [PREFIX/tests]
-hostbindir<dir>主机可执行文件安装目录 [HOSTPREFIX/bin]
-hostlibdir<dir>主机库文件安装目录 [HOSTPREFIX/lib]
-hostdatadir<dir>qmake使用数据安装目录 [HOSTPREFIX]

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

Configure选项:
[options][说明]
-help, -h显示本帮助文档
-verbose, -v打印显示配置信息
-continue如果发生错误,尽量继续
-redo使用以前使用过的选项重新配置。可以传递其他选项
-recheck丢弃缓存的负配置测试结果。安装丢失的依赖项后使用此功能
-recheck-all丢弃所有缓存的配置测试结果
-feature-<feature>启用 <feature>
-no-feature-<feature>禁止 <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 <target>指定目标操作系统和编译器,选择mkspec[detected]
-xplatform <target>交叉编译时选择目标mkspec [PLATFORM]
-device <name>指定交叉编译的目标设备 <name>
-device-option <key=value>为目标设备mkspec添加选项
-appstore-compliant禁用平台应用程序商店中不允许的代码。对于需要通过应用程序商店分发的平台,特别是Android、iOS、tvOS、watchOS和通用Windows平台,这是默认打开的 [auto]
-qtnamespace <name>把所有的Qt库代码放入namespace {…}中
-qtlibinfix <infix>重命名所有libQt5 * 为 libQt5 * <infix> . so
-testcocoon使用TestCocoon代码覆盖工具测试 [no]
-gcov使用GCov代码覆盖工具测试 [no]
-sanitize {address|thread|memory|undefined}使用指定编译器sanitizer测试
-c++std <edition>选择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 <type>为qreal指定类型.默认值是double 。请注意,更改此标志影响二进制兼容性
-R <string>向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 <tool>使指定的工具<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 <dir>设置目标sysroot为<dir>
-gcc-sysroot使用-sysroot选项,将-sysroot传递给编译器 [yes]
-pkg-config使用pkg-config[auto] (仅限Unix)
-D <string>添加一个宏定义<string>到预处理器
-I <string>添加一个头文件包含路径<string>
-L <string>添加一个库文件路径<string>
-F <string>添加一个框架路径<string> (仅限Apple)
-sdk <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 <repo>从构建中排除整个存储库<repo>.
-make <part>在make时添加要构建的组件.指定此选项将首先清除默认列表. [libs examples tools 如果不是 cross-building,甚至还有 tests 如果指定 -developer-build]
-nomake <part>从要构建的部件列表中排除.
-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 <dir>使用-qt-xkbcommon-x11,设置默认的XKB配置根目录<dir> [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-<driver>启用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 <name>选择media player后端(只支持Windows)支持后端:directshow(默认),wmf
  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值