QT5.13.0 的./configure参数解释(最新版本)
一般来说大家就照着现有的参数复制上去,改下安装目录就行了。虽然有大量的配置选项和参数,但如果不是真的了解和需要接触的库/特性,都用不上。看一下大概的用法,以后有需要想起来或许有这个东西有用就行。
标红色的参数,我认为是比较常用的参数,在编译不同平台版本,裁剪等。需要多多了解。
用法:配置[选项][分配]
Usage: configure [options] [assignments]
Configure理解变量赋值,比如命令行上的VAR=value。
每个大写的库名(可通过-list-libraries获得)支持_INCDIR、_LIBDIR、_PREFIX (INCDIR=PREFIX/include、LIBDIR=PREFIX/lib)、_LIBS和- on Windows和Darwin - _LIBS_DEBUG和_LIBS_RELEASE后缀。
例如,ICU_PREFIX=/opt/icu42 ICU_LIBS="-licui18n -licuuc -licudata"。
也可以操作任何QMAKE_*变量,修改mkspec中Qt构建本身的值,例如QMAKE_CXXFLAGS+=-g3。
注意,*_LIBS*和QMAKE_*赋值操作列表,因此需要根据qmake规则引用包含元字符(特别是空格)的项。
最重要的是,整个工作需要根据shell规则引用。建议内部引用使用单引号,外部引用使用双引号。
顶级安装目录:
configure options assignments -prefix <dir> 部署目录如,目标设备上所示。[默认/usr/local/Qt-$QT_VERSION;如果加上选项-developer-build,在 qtbase 构建目录 ] -extprefix <dir> 安装目录,如主机上所示。[默认SYSROOT/PREFIX] -hostprefix [dir] 在主机上运行的构建工具的安装目录。如果没有给出[dir],则使用当前构建目录。[EXTPREFIX] -external-hostbindir <path> 为这台机器构建的Qt工具的路径。当-platform与当前系统不匹配时,则使用 Canadian 交叉编译。
下面的选项安装目录布局的细调。注意,所有目录除了-sysconfdir应该
位于-prefix/-hostprefix:
configure 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> Translations [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”的缩写。单独的“yes”和“no”表示值列表
没有自动选择。
配置选项:
configure options assignments -help -h 显示帮助文档 -verbose -v 打印详细的配置消息 -continue 尽管有错误,仍然继续 configure -redo 重新配置以前使用的选项。可以传递其他选项,但以后使用不会保存 -redo选项。 -recheck [test,...] 丢弃缓存的负配置测试结果。安装丢失的依赖项后使用。或者,如果指定了测试,则只丢弃它们的结果。 -recheck-all 丢弃所有缓存的配置测试结果。 -feature -<feature> 启动 <feature> -no-feature -<feature> 禁止 <feature> [none]用于包含和排除特性。可用的<feature>都被罗列在qtbase/src/corelib/global/qfeatures.txt文件中。
比如,要禁用accessibility特性,可用使用-no-feature-accessibility选项,如下所示:./configure -no-feature-accessibility-list-features 列出可用功能特性。注意,有些特性还有专用的命令行选项。 -list-libraries 列出可能的外部依赖项。
构建选项:
configure | options | assignments |
---|---|---|
-opensource | 构建Qt的开源版本 | |
-commercial | 构建Qt的商业版本 | |
-confirm-license | 自动确认许可 | |
-release | 构建Qt的release版本(关闭调制) [yes] | |
-debug | 构建Qt的debug(开启调试)[no] | |
-debug-and-release | 构建两个版本的Qt [yes] (只适用于apple 和 window) | |
-optimize-debug | 在调试构建中启动调试友好的优化 [auto] (不支持 MSVC 和Clang工具链) | |
-optimize-size | 优化release版本的大小而不是速度 [no] | |
-optimize-tools | 构建优化的主机工具,即使在 debug版本中 [no] | |
-force-debug-info | 为 release 版本构建符号文件 [no] | |
-separate-debug-info | 将调试信息分离到单独的文件中 【no】 | |
-gdb-index | 索引调试信息以加速GDB 【no;auto 如果加上-developer-build 选项】 | |
-strip | 去掉 release 版本不需要的二进制符号文件【yes】 | |
-gc-binaries | 将每个函数或数据项放入自己的节(section)中,并启动链接器收集未使用的节(section)【auto (静态编译),no (其他情况下)】 | |
-force-asserts | 在 release 版本使用 Q_ASSERT 【no】 | |
-developer-build | 编译并链接Qt以开发Qt本身 (导出用于自动测试、额外检查等)【no】 | |
-shared |
构建 Qt 共享库 【yes】 (no for UIKit) |
|
-static | 构建 Qt 静态库 【no】 (yes for UIKit) | |
-framework | 构建 Qt 框架包 【yes】 (Apple only) | |
-platform | <target> | 选择主机的编译器与系统(可见源码/qtbase/mkspecs) 【detected】 |
-xplatform | <target> | 在交叉编译时,选择目标的编译器与系统 【paltform】同上 |
-device | <name> | 指定交叉编译时的目标设备或芯片 (可见源码/qtbase/mkspecs/devices) |
-device-option | <key=value> | 为目标设备添加额外的qmake参数 |
-appstore-compliant | 禁用平台应用商店中不允许的代码。对于需要通过应用商店分发的平台,特别时Android、iOS、tvOS、watchOS和通用Windows平台,这是默认打开的 | |
-qtnamespace | <name> | 把所有 Qt 库代码封装在 ‘namespace <name> {...} ’ |
-qtlibinfix | <infix> | 把所有libQt5*.so 动态库名字改为 libQt5*<infix>.so |
-testcocoon | 使用TestCocoon代码覆盖工具进行测试 【no】 | |
-gcov | 使用GCov代码覆盖工具测试 【no】 | |
-trace | 【backend】 | 使用仪器的跟踪点(tracepoints),目前支持的后端时‘etw’ (Windows)和‘lttng’ (Linux),或 ‘yes’ 用于自动检测。 |
-sanitize |
{address | thread | memory underfined } |
使用指定的编译器杀毒工具。注意,有些杀毒程序不能组合使用;例如,-sanitize address 不能与 -sanitize thread 组合使用 |
-coverage | {trace-pc-guard} | 添加代码覆盖工具(Clang only) |
-c++std | <edition> | 选择c++标准 <edition> [c++2a /c++17 /c++14 /c++11] 不支持 MSVC 2015 |
-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。在Apple平台上上,禁用它意味着对动态库和框架使用绝对安装名称(基于LIBDIR) 【auto】 | |
-reduce-exports | 减少输出符号的数量 【auto】 | |
-reduce-relocations | 减少重定位段的数量 【auto】(Unix only) | |
-plugin-manifests | 将屏幕嵌入到插件中 【no】 (Windows only) | |
-static-runtime | 对于-static,使用静态运行 【no】 (Windows only) | |
-pch | 使用预编译头【auto】 | |
-ltcg | 使用链接时间代码生成【no】 | |
-linker | 【bfd,gold,lld】 | 强制使用GNU ld、GNU gold 或 LLVM / LLD链接器代替默认的(GCC only) |
-incredibuild-xge | 使用 IncrediBuild XGE 【no】(Windows only)(分布式编译工具?) | |
-ccache | 使用ccache编译器缓存【no】(Unix only) | |
-make-tool <tool> | <tool> | 使用<tool>来建立 qmake 【nmake】(Windows only) |
-mp | 使用多个处理器进行编译 (MSVC only) | |
-warnings-are-errors | 将警告视为错误 【no;yes 如果添加选项 -developer-build】 | |
-silent | 减少构建输出,以便更容易地看到警告和错误 |
构建环境 :
configure | options | assignments |
---|---|---|
-sysroot | <dir> | 设置目标sysroot为<dir> |
-gcc-sysroot | 使用选项-sysroot,将 - - sysroot传递编译器 【yes】 | |
-pkg-config | 使用pkg-config 【auto】(Unix only) | |
-D | <string> | 传递额外的预处理器定义 |
-I (大写i) | <string> | 传递额外的头文件路径 |
-L | <string> | 传递额外的库文件路径 |
-F | <string> | 传递额外的框架路径(Apple only) |
-sdk | <sdk> | 使用苹果提供的SDK<SDK>构建Qt。参数应该是“xcodebuild -showsdks”列出的可用sdk之一。注意,这个参数只适用于使用目标mkspec构建的Qt库和应用程序,而不是像qmake、moc、rcc等主机工具 |
-android-sdk path | 设置 Android SDK 根目录 【$ANDROID_SDK_ROOT】 | |
-android-ndk path | 设置 Android NDK 根目录 【$ANDROID_NDK_ROOT】 | |
-android-ndk-host | 设置Android NDK主机 (linux-x86,linux-x86_64,etc.) 【$ANDROID_NDK_HOST】 | |
-android-arch | 设置 Android 体系架构(armeabi,armeabi-v7a,arm64-v8a,x86,x86_64) | |
-android-toolchain-version | 设置Android 工具链的版本 | |
-android-style-assets | 在运行时自动从设备中提取样式表。这个选项使Android 风格的行为正确,但也使Android平台插件与LGPL2.1不兼容,【yes】 |
configure | options | assignments |
---|---|---|
-skip | <repo> | 从构建中排除整个存储库,(去除某个模块,参考源代码根目录) |
-make |
<part> |
将<part>添加到要构建的部件列表中。指定此选项将首先清除默认列表。【可选 libs、tools、examples、demos、docs、translations】 【libs、tools、example如果不是交叉编译构建,还有tests,在加上选项 -developer-build】 |
-nomake | <part> | 从要构建的部件列表总排除<part> |
-compile-examples | 取消设置时,只安装示例的源代码 【no on WebAssembly,otherwise,yes】 | |
-gui | 构建Qt GUI模块和依赖项【yes】 | |
-widgets | 构建Qt Widgets模块和依赖项【yes】 | |
-no-dbus | 不构建Qt D-Bus模块 【default on Android and Windows】 | |
-dbus-linked | 构建Qt D-Bus并链接到 libdbus-1 【auto】 | |
-dbus-runtime | 构建Qt D-Bus并动态加载 libdbus-1 【no】 | |
-accessibility | 启用可访问性支持【yes】 注意:不建议禁用可访问性 |
Qt附带了一些第三方库的捆绑拷贝。如果各自系统库的自动检测失,则使用默认的。
核心选项:
configure | options | assignments |
---|---|---|
-doubleconversion | 选择使用double conversion库(双精度转换?)【system/qt/no】 | |
-glib | 启动 Glib 支持 【no;auto on Unix】 | |
-eventfd | 启用 eventfd 支持 | |
-inotify | 启用 inotify 支持 | |
-iconv | 启用 iconv(3)支持 【posix/sun/gnu/no】(Unix only) | |
-icu | 启用 ICU 支持 【auto】 | |
-pcre | 选择使用 libpcre2 【system/qt】 | |
-pps | 启用 PPS 支持 【auto】(QNX only) | |
-zlib | 选择使用 zlib 【system/qt】 |
日志后端:
configure | options | assignments |
---|---|---|
-journald | 启用 journald 支持 【no】(Unix only) | |
-syslog | 启用 syslog 支持 【no】(Unix only) | |
-slog2 | 启用 slog2 支持 【auto】(QNX only) |
网络选项:
configure | options | assignments |
---|---|---|
-ssl | 启用所有SSL支持方法【auto】 | |
-no-openssl | 不适用OpenSSL (default on Apple and WinRT) | |
-openssl-linked | 使用 OpenSSL 和链接到 libssl 【no】 | |
-openssl-runtime | 使用OpenSSL 和动态加载 libssl 【auto】 | |
-securetransport | 使用安全传输【auto】 | |
-sctp | 启用 SCTP 支持 【no】 | |
-libproxy | 启用 libproxy 【no】 | |
-system-proxies | 默认使用系统网络代理 【yes】 |
Gui, 打印, widget 选项:
configure | options | assignments |
---|---|---|
-cups | 启用 CUPS 支持(打印)【auto】(Unix only) | |
-fontconfig | 启用 Fontconfig 支持 (字体库) 【auto】 (Unix only) | |
-freetype | 选择使用 FreeType(字体库) 【system / qt / no】 | |
-harfbuzz | 选择使用 HarfBuzz-NG (字体库)【system / qt / no】 | |
-gtk | 启用 GTK 平台支持主题 (GUI) auto | |
-lgmon | 启用 lgmon 支持 【auto】 (QNX only) | |
-no-opengl | 禁用 OpenGL 支持 | |
-opengl | <api> | 启用 OpenGL 支持,支持的APIs:es2 (default on Windows),desktop (default on Unix),dynamic (Windwos only) |
-opengles3 | 启用 OpenGL ES 3.x 支持代替 ES 2.x 【auto】 | |
-angle | 使用绑定的角度来支持 OpenGL ES 2.0 【auto】(Windows only) | |
-combined-angle-lib | 将 LibEGL 和 LibGLESv2 合并到 LibANGLE (Windows only) | |
-qpa | <name> | 选择默认 QPA 后端 (s)(e.g,xcb,cocoa,windows)用逗号分开的优先列表 |
-xcb-xlib | 启用 Xcb-Xlib 支持 【auto】 |
平台后端:
configure | options | assignments |
---|---|---|
-direct2d | 启用 Direct2D 支持【auto】(Windows only) | |
-directfb | 启用 DirectFB 支持【no】(Unix only) | |
-eglfs | 启用 EGLFS 支持 【auto;no on Android and Windows】 | |
-gbm |
启用 backends for GBM 【auto】 (Linux only) | |
-kms | 启用 backends for KMS 【auto】 (Linux only) | |
-linuxfb | 启用 Linux Framebuffer 支持 【auto】 (Linux only) | |
-mirclient | 启用 Mir client 支持 【no】(Linux only) | |
-xcb | 启用 X11 支持,选择使用 xcb-*库 【system / qt / no】(-qt-xcb 仍然使用 libxcb 本身的系统版本) |
输入后端:
configure | options | assignments |
---|---|---|
-libudev | 启用 udev 支持 【auto】 | |
-evdev | 启用 evdev 支持 【auto】 | |
-imf | 启用 IMF 支持【auto】 (QNX only) | |
-libinput | 启用 libinput 支持 【auto】 | |
-mtdev | 启用 mtdev 支持 【auto】 | |
-tslib | 启用 tslib 支持 【auto】 | |
-xcb-xinput | 启用 XInput2 支持 【auto】 | |
-xkbcommon | 启用 key mapping 支持 【auto】 |
图片格式:
configure | options | assignments |
---|---|---|
-gif | 启用对 GIF 的读取支持 【auto】 | |
-ico | 启用 ICO 支持 【yes】 | |
-libpng | 选择使用 libpng 【system / qt / no】 | |
-libjpeg | 选择使用 libjpeg 【system / qt /no】 |
configure | options | assignments |
---|---|---|
-sql | -<driver> | 启用 SQL<driver> 插件,支持的驱动程序:db2、ibase、mysql、oci、odbc、psql、sqlite2、sqlite、tds 【all auto】 |
-sqlite | 选择使用 sqlite3 【system / qt】 |
Qt3D 选项:
configure | options | assignments |
---|---|---|
-assimp | 选择使用 assimp 库 【system / qt / no】 | |
-qt3d-profile-jobs | 启用 工作简介 【no】 | |
-qt3d-profile-gl | 启用 OpenGL简介 【no】 | |
-qt3d-simd | 选择 SIMD的支持级别 【no / sse2 / avx2】 | |
-qt3d-render | 启用 Qt3D 渲染部分 【yes】 | |
-qt3d-input | 启用 Qt3D 输入部分 【yes】 | |
-qt3d-logic | 启用 Qt3D 逻辑部分 【yes】 | |
-qt3d-extras | 启用 Qt3D 额外部分 【yes】 | |
-qt3d-animation | 启用 Qt3D 动画部分 【yes】 |
进一步的图像格式选项:
configure | options | assignments |
---|---|---|
-jasper | 启用 JPEG-2000 支持是使用 JasPer 库【no】 | |
-mng | 启用 MNG 支持 【no】 | |
-tiff | 启用 TIFF 支持 【system / qt / no】 | |
-webp | 启用 WEBP 支持 【system / qt / no】 |
多媒体选项:
configure | options | assignments |
---|---|---|
-pulseaudio | 启用 PulseAudio 支持 【auto】 (Unix only) | |
-alsa | 启用 ALSA 支持 【auto】 (Unix only) | |
-no-gstreamer | 禁用 GStreamer | |
-gstreamer | 【version】 | 启用 GStreamer 支持 【auto】 |
-evr | 禁用 EVR 在 DirectShow 和WMF 情况下 【auto】 |
Web引擎选项:
configure | options | assignments |
---|---|---|
-webengine-alsa | 启用 ALSA 支持 【auto】 (Linux only) | |
-webengine-pulseaudio | 启用 PulseAudio 支持 【auto】(Linux only) | |
-webengine-embedded-build | 禁止构建 Linux embedded 【auto】(Linux only) | |
-webengine-icu | 使用系统 ICU 库【system / qt】(Linux only) | |
-webengine-ffmpeg | 使用系统 FFmpeg库 【system / qt】(Linux only) | |
-webengine-opus | 使用系统 Opus库【system / qt】(Linux only) | |
-webengine-webp | 使用系统 WebP库 【system / qt】(Linux only) | |
-webengine-pepper-plugins | 启用 Pepper Flash and Widevine plugins 【auto】 | |
-webengine-printing-and-pdf | 启用 打印和输出到 PDF【auto】 | |
-webengine-proprietary-codecs | 启用对 proprietary codecs 的支持 【no】 | |
-webengine-spellchecker | 启用对 spellchecker 的支持 【yes】 | |
-webengine-native-spellchecker | 启用对 native spellchecker 的支持 【no】(macOS only) | |
-webengine-webrtc | 启用对 WebRTC 的支持【auto】 |
QT5.13.0 的./configure参数解释(最新版本)相关推荐
- Qt5.13.0虚拟键盘 使用文档说明及函数说明 (一)构建 build
首先之前的工作都是为了想验证虚拟键盘的使用,才有了之前编译x11 .arm等qt的步骤. 在到这之前的构建环境,我说认真的,真的烦的要死,每次构建用的时间又多,配置完了编译会出一大堆error,加上公 ...
- QT5.13.0 for IOS虚拟机开发环境配置版本
iphone开发环境配置真的坑,不知道版本之间的匹配,装了好多个版本才配好.使用的是vmware15虚拟机来配置的环境: macOS版本:10.13.6 XCode版本:10.1 QT版本:5.13. ...
- Qt5.9.0下载与安装(windows版本)
1.下载 Qt5.9.0开源版本官网下载 选择图中2.3GB的安装包,即可进行下载 2.安装 双击安装包,弹出qt5.9.0的安装界面 点击下一步 这里的账户如果没有,可以不填,直接点Next 点击下 ...
- linux下mysql6.0 yum安装,Yum安装最新版本MySQL的方法
摘要 腾兴网为您分享:Yum安装最新版本MySQL的方法,桌面时钟,翼拍照,小熊到家,梦想旅行等软件知识,以及qq浏览器tv版,广告音乐制作,票友网,雪兔社区,搬运帮,is智慧平台登录,gpuinfo ...
- Linux configure 参数解释,程序的这装,卸载
2019独角兽企业重金招聘Python工程师标准>>> Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都 ...
- Linux configure 参数解释
Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...
- mysql 更新统计信息_MySQL5.7统计信息更新的相关参数解释和测试
MySQL版本:5.7.21 统计信息相关参数如下: mysql> show global variables like '%stats%'; +------------------------ ...
- 编译移植龙芯2K1000平台下的qt-5.13
编译移植龙芯2K1000平台下的qt-5.13 本文记录对龙芯2K进行qt5.13.1版本的移植. 本文中对于tslib的安装不做讲解,使用了QT4进行核心板开发的童鞋一般情况下,应该已经安装好了ts ...
- 【QT日记】QT MYSQL 链接方法 QMYSQL driver not loaded解决方法 qt5.13 mysql5.7
相信很多第一次在QT下链接MYSQL的朋友都会遇到这个问题: 读取不到QMYSQL的驱动,QSqlDatabase支持的驱动有:QSQLITE QODBC QODBC3 QPSQL QPSQL7 [就 ...
最新文章
- CruiseControl.NET开篇
- Windows 下 修改 Anaconda3 jupyter 默认启动目录
- 四路由器的OSPF DR ,BDR
- 大数据在未来十年将如何发展
- 洛谷P4718 【模板】Pollard-Rho算法
- SliceProceduralMesh的使用
- 返回一个一维整数数组中最大子数组的和
- 2.8 GloVe 词向量
- python3小程序代码_我想使用python写一个小程序作为练习,使用的是python3。
- MySQL-创建表时建立索引和在已存在表中添加索引
- PCAN-View如何保存报文?
- 双样本T检验-P-T和T-T检验
- android 卡片行星,卡片详情
- armbian开启ssh_Armbian Ubuntu启用netplan配置网络
- iOS开发者账号Agent更换
- 名字中间一条线怎么弄_网名怎么加横线啊 网名中间加一条横线
- FFmpeg命令行解析
- 原创|Android Jetpack Compose 最全上手指南
- 不想写日报、周报,这个报表自动化软件太牛了,仅需三分钟
- 云呐|机房动环一体机综合监控管理