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与当前系统不匹配时,构建交叉编译
|
[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
的缩写。单独的
yes
和
no
表示选项没有自动选择。
[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]
|
[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]
|
[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
|
Qt源码编译configure配置参数相关文章Configure理解命令行上的变量赋值,比如VAR=value。每个大写的库名(可通过 -list-libraries获得)都支持后缀_INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=PREFIX/lib),和- on Windows和Darwin - LIBS_DEBUG和_LI...
1 使用工具:
qt
5.12.3 vs2017 静态
编译
库release版
2 参考博客链接:https://blog.csdn.net/zhangpeterx/article/details/86529231
3 使用的
编译
配置
命令(极简,博客看完再看此条):
configure
.bat -static -prefix "D:\
Qt
\static_
qt
5" -confirm-license -opensource -release -platform win32-msvc -nomake examples -nomake tests -opengl desktop -mp
Qt
源码
编译
./
configure
-prefix $PWD/
qt
base -opensource
报错 ERROR: The OpenGL functionality tests failed
ubuntu 14.04 LTS
qt
-everywhere-opensource-src-5.9.9
一切有为法,如梦幻泡影,如露亦如电,应作如是观
首先,下载
源码
qt
-everywhere-src-5.10.1,解压,进入解压后的文件夹。下载地址:http://download.
qt
.io/archive/
qt
/5.10/5.10.1/single/
安装过程参照解压文件中的README,典型的config(...
-device-option 用于向qmake.conf文件中添加可以引用的变量。
-device-option "PATH_GPU=$PATH_GPU" -device-option "CROSS_COMPILE=$CROSS_COMPILE"
在qmake.conf中的引用如下
$${CROSS_COMPILE}