Qt源码编译configure配置参数

安装选项

选项作用
-prefix <dir>指定部署目录(默认 /usr/local/Qt-5.6.0)
-extprefix <dir>安装目录(默认 SYSROOT/PREFIX)
-hostprefix [dir]运行在这个主机上的构建工具的安装目录,如果不给定,使用当前目录. (默认 EXTPREFIX)

你可以用这些来改变安装的布局。请注意,所有目录除sysconfdir外,其他的应位于-prefix或者hostprefix下

 

选项作用
-bindir <dir>用户可执行文件将安装到这个目录(默认 PREFIX/bin)
-headerdir <dir>头文件安装目录(默认 PREFIX/include)
-libdir <dir>库文件安装目录(默认 PREFIX/lib)
-archdatadir <dir>QT相关的数据将被安装到<<目录>(默认 PREFIX)
-plugindir <dir>插件安装目录(默认 ARCHDATADIR/plugins)
-libexecdir <dir>程序的可执行文件安装目录(默认 ARCHDATADIR/libexec, ARCHDATADIR/bin for MinGW)
-importdir <dir>导入QML1安装目录(默认 ARCHDATADIR/imports)
-qmldir <dir>导入QML2安装目录(默认 ARCHDATADIR/qml)
-datadir <dir>QT独立的数据安装目录(default PREFIX)
-docdir <dir>文档安装目录(default DATADIR/doc)
-translationdir <dir>Qt程序的翻译数据安装目录(default DATADIR/translations)
-sysconfdir <dir>设置使用QT程序的搜寻目录(default PREFIX/etc/xdg)
-examplesdir <dir>示例文件安装目录(default PREFIX/examples)
-testsdir <dir>测试文件安装目录(default PREFIX/tests)
-hostbindir <dir>主机可执行文件安装目录(default HOSTPREFIX/bin)
-hostlibdir <dir>主机库文件安装目录(default HOSTPREFIX/lib)
-hostdatadir <dir>qmake使用数据安装目录(default HOSTPREFIX)

 

 

Configure选项

下表中第一列中的*表示默认并可行的。+表示默认,但需要进行评估(检测),评估通过才可接受。

 选项作用
*-release编译和链接Qt的release版本
 -debug编译和链接debug版本
 -debug-and-release编译和链接release和debug两个版本(仅MAC)
 -force-debug-info为release构建创建符号链接
 -developer-buildQt开发者编译和链接选项(包括自动测试/输出)
*-no-optimized-tools即使在调试版本中,也不构建优化的主机工具
 -optimized-tools构建优化的主机工具,即使在调试版本
 -opensource编译和链接Qt开源版本
 -commercial编译和链接的Qt商业版
 -confirm-license自动确认许可证(使用开源或是商业)
 -c++std <edition>编译QT使用的C++标准 (c++98, c++11, c++14, c++1z) 默认: 最高支持版本
*-shared创建并使用Qt共享库.
 -static创建并使用QT静态库
 -no-largefile禁用大文件支持
+-largefile启用QT访问大于4 GB的文件功能
 -no-accessibility不编译的可访问性支持,禁用访问不推荐,它将破坏QStyle并且可能影响QT构建 
这个选项启用将创建一个源不兼容版本的QT,这是不支持
+-accessibility编译访问支持.
 -no-sql-<driver>完全禁用SQL <driver> .
 -qt-sql-<driver>在 Qt SQL 模块启用SQL <driver>,默认是不启用的.
 -plugin-sql-<driver>启用SQL <driver\>作为一个插件在运行时链接 
 -system-sqlite利用操作系统SQLite
 -no-qml-debug不构建在QML调试支持
+-qml-debug构建QML调试支持
 -platform target构建的目标操作系统和编译器(默认检测主机系统),读readme文件获取支持的操作系统和编译器列表
 -no-sse2编译不要使用SSE2指令
 -no-sse3编译不要使用SSE3指令
 -no-ssse3编译不要使用SSSE3指令
 -no-sse4.1编译不要使用SSE4.1指令
 -no-sse4.2编译不要使用SSE4.2指令
 -no-avx编译不要使用AVX指令
 -no-avx2编译不要使用AVX2指令
 -no-mips_dsp编译不要使用MIPS DSP指令
 -no-mips_dspr2编译不要使用MIPS DSP Rev2指令
 -qtnamespace <name>把所有的Qt库代码放入namespace <name> {...}
 -qtlibinfix <infix>重命名索引libQt*.solibQt*<infix>.so
 -testcocoonInstrument Qt with the TestCocoon code coverage tool.
 -gcovInstrument Qt with the GCov code coverage tool.
 -D <string>显示的添加一个宏定义到预处理器
 -I <string>显示的添加一个包含路径
 -L <string>显示添加一个库路径
+-pkg-config使用pkg-config检测包括库路径。默认情况下,配置决定是否使用pkg-config或不具有启发式如检查环境变量。
 -no-pkg-config禁用pkg-config支持
 -force-pkg-config强制使用pkg-config (跳过pkg-config可用性启发式检测).
 -help, -h显示帮助信息.

 

 

第三方库:

 选项作用
 -qt-zlib使用QT自带zlib库
+-system-zlib使用操作系统自带的zlib库。
 -no-mtdev不要编译mtdev支持 ,mtdev包含了应用程序对多点触摸协议的支持
+-mtdev启用mtdev的支持.
+-no-journald不要把日志输出到journald,Journald是为Linux服务器打造的新系统日志方式
 -journald日志输出到journald
+-no-syslog不要输出日志到syslog.
 -syslog输出日志到syslog.
 -no-gif不要编译GIF读取支持
 -no-libpng不要编译PNG支持
 -qt-libpng使用Qt自带的libpng
+-system-libpng使用操作系统自带的libpng ,http://www.libpng.org/pub/png
 -no-libjpeg不要编译JPEG支持.
 -qt-libjpeg使用QT自带的libjpeg.
+-system-libjpeg使用系统自带的 libjpeg ,http://www.ijg.org
 -no-freetype不要编译Freetype2的支持.
 -qt-freetype使用QT自带的libfreetype.
+-system-freetype使用系统自带的libfreetype(假如存在) (启用,如果-fontconfig选项开启),http://www.freetype.org
 -no-harfbuzz不要编译HarfBuzz-NG 支持.
*-qt-harfbuzz使用QT自带的HarfBuzz-NG 去进行文本构形. 仍然可以通过设置QT_HARFBUZZ 环境变量到”old”来禁用.
 -system-harfbuzz使用系统自带的HarfBuzz-NG区进行文本构形.仍然可以通过设置QT_HARFBUZZ 环境变量到”old”来禁用 ,http://www.harfbuzz.org
 -no-openssl不要编译OpenSSL的支持
 -openssl启用运行时OpenSSL支持.
 -openssl-linked启用并链接OpenSSL支持
 -no-libproxy不要编译libproxy的支持
+-libproxy使用操作系统自带的libproxy.
 -qt-pcre使用QT自带的PCRE library.
+-system-pcre使用操作系统自带的PCRE library
 -qt-xcb使用QT自带的xcb-libraries. (libxcb.so将仍然使用操作系统自带的).
+-system-xcb使用操作吸引自带的xcb- libraries .
 -xkb-config-root设置默认的XKB config root. 这个选项仅与-qt-xkbcommon-x11一起使用.
 -qt-xkbcommon-x11在构建xcb中使用QT自带的xkbcommon library .
+-system-xkbcommon-x11在构建xcb中使用操作系统自带的 xkbcommon library.
 -no-xkbcommon-evdev当编译libinput支持时,不使用X-less xkbcommon.
*-xkbcommon-evdev当编译libinput支持时,使用X-less xkbcommon.
 -no-xinput2不要编译XInput2的支持.
*-xinput2编译XInput2支持.
 -no-xcb-xlib不要编译Xcb-Xlib支持.
*-xcb-xlib编译 Xcb-Xlib支持.
 -no-glib不要编译 Glib 支持.
+-glib编译 Glib 支持.
 -no-pulseaudio不要编译PulseAudio 支持.
+-pulseaudio编译 PulseAudio 支持.
 -no-alsa不要编译 ALSA 支持.
+-alsa编译 ALSA 支持.
 -no-gtkstyle不要编译GTK theme 支持.
+-gtkstyle编译 GTK theme 支持.

 

 

附加选项:

 选项作用
 -make <part>在make时添加要构建的组件. (默认为:libs tools examples
 -nomake <part>在构建时排除组件
 -skip <module>排除整个模块的建立
 -no-compile-examples仅安装examples的源码,不要编译它.
 -no-gui不要构建Qt GUI模块和依赖.
+-gui构建Qt GUI 模块和依赖.
 -no-widgets不要构建Qt Widgets 模块和依赖.
+-widgets构建 Qt Widgets模块和依赖
 -R <string>显示添加一个运行时库的路径去构建Qt libraries.
 -l <string>显示添加一个library.
 -no-rpath不使用库安装路径作为一个运行时库路径 
在苹果的平台上,这意味着使用绝对安装名称(基于在libdir)动态库和框架。
+-rpath链接 Qt 库和可执行文件使用库安装路径作为运行时库路径。相当于-R install_libpath
 -continue如果发生错误,尽量继续。
 -verbose, -v打印每个步骤的配置过程的详细的信息。
 -silent减少生成输出,这样可以更容易看到警告和错误。
 -no-nis不要编译NIS 支持.
*-nis编译 NIS 支持.
 -no-cups不要编译CUPS支持.
*-cups编译CUPS支持. 要求 cups/cups.h 和libcups.so.2.
 -no-iconv不编译对 iconv(3) 的支持。
*-iconv编译对 iconv(3) 的支持。
 -no-evdev不编译对 evdev 的支持。
*-evdev编译对 evdev 的支持。
 -no-tslib不编译对 tslib 的支持 
tslib是对触屏的支持
*-tslib编译对 tslib 的支持.
 -no-icu不编译对 ICU libraries 的支持. 
这是IBM发布的字符集编码转换库
+-icu编译对 ICU libraries 的支持.
 -no-fontconfig不编译系统中的FontConfig支持
+-fontconfig编译系统中的FontConfig支持
 -no-strip不对二进制文件和库的使用strip去除不需要的符号.
*-strip在安装时对二进制文件和库的使用strip去除不需要的符号
*-no-pch不使用预编译的头支持.
 -pch使用预编译的头支持.
*-no-ltcg不使用链接时代码生成
 -ltcg使用链接时代码生成.
 -no-dbus不要编译Qt D-Bus 模块.
+-dbus-linked编译Qt D-Bus模块并链接到libdbus-1.
 -dbus-runtime编译Qt D-Bus模块并动态加载libdbus-1.
 -reduce-relocations减少通过额外的链接器优化库的重加载 ,(仅qt/X11 和Qt/linux嵌入式 ;实验性的;需要 GNU ld > = 2.18)
 -no-use-gold-linker不要使用GNU gold linker进行链接.
+-use-gold-linker使用GNU gold linker进行链接.
 -force-asserts强制启用Q_ASSERT,即使在release构建中.
 

sanitize[address/thread

/memory/undefined]

启用指定编译器的sanitizer.
 -device <name>跨平台编译<name>设备 (试验性)
 -device-option <key=value>添加device mkspec的device选项 (试验性)
*-no-separate-debug-info不将调试信息存储在一个单独的文件
 -separate-debug-info将调试信息到一个单独的文件
 -no-xcb不要编译Xcb (X protocol C-language Binding) 支持.
*-xcb编译 Xcb 支持.
 -no-eglfs不要编译EGLFS (EGL Full Screen/Single Surface) 支持.
*-eglfs编译 EGLFS 支持.
 -no-kms不要编译KMS的后端.
*-kms编译 KMS的后端.
 -no-gbm不要编译 GBM 的后端.
*-gbm编译 GBM的后端.
 -no-directfb不要编译 DirectFB 支持.
*-directfb编译 DirectFB 支持.
 -no-linuxfb不要编译Linux Framebuffer 支持.
*-linuxfb编译 Linux Framebuffer 支持.
*-no-mirclient不要编译 Mir client 支持.
 -mirclient编译 Mir client 支持.
 -qpa <name>设置默认的QPA 平台 (示例 xcb, cocoa, windows).
 -xplatform target指定目标平台(在跨平台编译时)
 -sysroot <dir><dir>设置为目标编译器和 qmake 的 sysroot 并且也设置 pkg-confing路径.
 -no-gcc-sysroot当使用-sysroot时, 它禁用将–sysroot传递到编译器
 -no-feature-<feature><feature>中的不编译.
 -feature-<feature>编译<feature>中的. 可用的功能介绍在src/corelib/global/qfeatures.txt
 -qconfig local使用src/corelib/global/qconfig-local.h ,而不是默认的(全部).
 -qreal [double/float]为qreal指定类型.默认值是double。请注意,更改此标志影响二进制兼容性。
 -no-opengl禁用OpenGL支持.
 -opengl <api>启用 OpenGL 支持.不带参数时,这将会尝试自动检测的 OpenGL ES 2.0 和更高版本,或常规的桌面版OpenGL. 使用 es2 的<api>将替代自动检测
 -no-libinput禁用libinput支持.
*-libinput启用libinput 支持.
 -no-gstreamer禁用GStreamer支持.
+-gstreamer <version>启用 GStreamer 支持。不带参数,这将会尝试自动检测 GStreamer 0.10 和 1.0。GStreamer 1.0 是默认使用的可用时。使用 0.10 或 1.0 <version>来覆盖自动检测。
*-no-system-proxies默认情况下,不使用系统网络代理
 -system-proxies默认情况下,使用系统网络代理
 -no-warnings-are-errorsMake 时把warnings当做正常
 -warnings-are-errorsMake时把warnings 当做错误 (如果启用了-developer-build)

 

 

QNX/Blackberry 选项:

选项作用
-no-slog2不编译 slog2 的支持
-slog2编译 slog2 的支持
-no-pps不编译 pps 的支持
-pps编译 pps 的支持
-no-imf不编译 imf 的支持
-imf编译 imf 的支持
-no-lgmon不编译 lgmon 的支持
-lgmon编译 lgmon 的支持

 

 

Android 选项:

 选项作用
 -android-sdk pathAndroid SDK 根目录 
(默认 $ANDROID_SDK_ROOT)
 -android-ndk pathAndroid NDK 根目录. 
(默认 $ANDROID_NDK_ROOT)
 -android-ndk-platform设置android 平台版本 
(默认 android-9)
 -android-ndk-host设置android NDK 主机类型 (linux-x86, linux-x86_64, etc.) 
(默认 $ANDROID_NDK_HOST)
 -android-arch设置android 体系结构 (armeabi, armeabi-v7a, x86, mips, arm64-v8a, x86_64, mips64) 
(默认 armeabi-v7a)
 -android-toolchain-version设置android 工具链版本 
(默认 4.9)
 -no-android-style-assets不编译 通过运行时设备自动提取style-assets的代码. 
设置这将使Android风格的行为不当,但与lgpl2.1许可兼容
*-android-style-assets编译 通过运行时设备自动提取style-assets的代码.
此选项将使Android平台的lgpl2.1许可不兼容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值