一般来说大家就照着现有的参数复制上去,改下安装目录就行了。虽然有大量的配置选项和参数,但如果不是真的了解和需要接触的库/特性,都用不上。看一下大概的用法,以后有需要想起来或许有这个东西有用就行。

标红色的参数,我认为是比较常用的参数,在编译不同平台版本,裁剪等。需要多多了解。


用法:配置[选项][分配]
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参数解释(最新版本)相关推荐

  1. Qt5.13.0虚拟键盘 使用文档说明及函数说明 (一)构建 build

    首先之前的工作都是为了想验证虚拟键盘的使用,才有了之前编译x11 .arm等qt的步骤. 在到这之前的构建环境,我说认真的,真的烦的要死,每次构建用的时间又多,配置完了编译会出一大堆error,加上公 ...

  2. QT5.13.0 for IOS虚拟机开发环境配置版本

    iphone开发环境配置真的坑,不知道版本之间的匹配,装了好多个版本才配好.使用的是vmware15虚拟机来配置的环境: macOS版本:10.13.6 XCode版本:10.1 QT版本:5.13. ...

  3. Qt5.9.0下载与安装(windows版本)

    1.下载 Qt5.9.0开源版本官网下载 选择图中2.3GB的安装包,即可进行下载 2.安装 双击安装包,弹出qt5.9.0的安装界面 点击下一步 这里的账户如果没有,可以不填,直接点Next 点击下 ...

  4. linux下mysql6.0 yum安装,Yum安装最新版本MySQL的方法

    摘要 腾兴网为您分享:Yum安装最新版本MySQL的方法,桌面时钟,翼拍照,小熊到家,梦想旅行等软件知识,以及qq浏览器tv版,广告音乐制作,票友网,雪兔社区,搬运帮,is智慧平台登录,gpuinfo ...

  5. Linux configure 参数解释,程序的这装,卸载

    2019独角兽企业重金招聘Python工程师标准>>> Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都 ...

  6. Linux configure 参数解释

    Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

  7. mysql 更新统计信息_MySQL5.7统计信息更新的相关参数解释和测试

    MySQL版本:5.7.21 统计信息相关参数如下: mysql> show global variables like '%stats%'; +------------------------ ...

  8. 编译移植龙芯2K1000平台下的qt-5.13

    编译移植龙芯2K1000平台下的qt-5.13 本文记录对龙芯2K进行qt5.13.1版本的移植. 本文中对于tslib的安装不做讲解,使用了QT4进行核心板开发的童鞋一般情况下,应该已经安装好了ts ...

  9. 【QT日记】QT MYSQL 链接方法 QMYSQL driver not loaded解决方法 qt5.13 mysql5.7

    相信很多第一次在QT下链接MYSQL的朋友都会遇到这个问题: 读取不到QMYSQL的驱动,QSqlDatabase支持的驱动有:QSQLITE QODBC QODBC3 QPSQL QPSQL7 [就 ...

最新文章

  1. CruiseControl.NET开篇
  2. Windows 下 修改 Anaconda3 jupyter 默认启动目录
  3. 四路由器的OSPF DR ,BDR
  4. 大数据在未来十年将如何发展
  5. 洛谷P4718 【模板】Pollard-Rho算法
  6. SliceProceduralMesh的使用
  7. 返回一个一维整数数组中最大子数组的和
  8. 2.8 GloVe 词向量
  9. python3小程序代码_我想使用python写一个小程序作为练习,使用的是python3。
  10. MySQL-创建表时建立索引和在已存在表中添加索引
  11. PCAN-View如何保存报文?
  12. 双样本T检验-P-T和T-T检验
  13. android 卡片行星,卡片详情
  14. armbian开启ssh_Armbian Ubuntu启用netplan配置网络
  15. iOS开发者账号Agent更换
  16. 名字中间一条线怎么弄_网名怎么加横线啊 网名中间加一条横线
  17. FFmpeg命令行解析
  18. 原创|Android Jetpack Compose 最全上手指南
  19. 不想写日报、周报,这个报表自动化软件太牛了,仅需三分钟
  20. 云呐|机房动环一体机综合监控管理

热门文章

  1. 字符串中是否存在中文正则
  2. 保温杯哪种材质最好_保温杯内胆什么材质好
  3. sql 中exist用法
  4. oppoa209怎样安装新java应用_oppoa209手机拆机教程详解【图文教程】
  5. 利用手机拍摄光绘照片
  6. TensorFlow中学习率
  7. 冷热分离之OTS表格存储实战
  8. 13 款开源的全文搜索引擎
  9. python打开手机网页_Python selenium 用chrome的Mobile emulation模拟手机浏览器测试手机网页...
  10. 解决GitHub图床图片无法显示的问题