Qt下载目录:https://download.qt.io/new_archive/qt/
qtbase5.6.3编译选项
Usage: configure [options]
Installation options:
These are optional, but you may specify install directories.
-prefix ...... The deployment directory, as seen on the target device.
(default /usr/local/Qt-5.6.3, $PWD if -developer-build is active)
-extprefix ... The installation directory, as seen on the host machine.
(default SYSROOT/PREFIX)
-hostprefix [dir] .. The installation directory for build tools running on the
host machine. If [dir] is not given, the current build
directory will be used. (default EXTPREFIX)
You may use these to change the layout of the install. Note that all directories
except -sysconfdir should be located under -prefix/-hostprefix:
-bindir ......... User executables will be installed to
(default PREFIX/bin)
-headerdir ...... Headers will be installed to
(default PREFIX/include)
-libdir ......... Libraries will be installed to
(default PREFIX/lib)
-archdatadir .... Arch-dependent data used by Qt will be installed to
(default PREFIX)
-plugindir ...... Plugins will be installed to
(default ARCHDATADIR/plugins)
-libexecdir ..... Program executables will be installed to
(default ARCHDATADIR/libexec, ARCHDATADIR/bin for MinGW)
-importdir ...... Imports for QML1 will be installed to
(default ARCHDATADIR/imports)
-qmldir ......... Imports for QML2 will be installed to
(default ARCHDATADIR/qml)
-datadir ........ Arch-independent data used by Qt will be installed to
(default PREFIX)
-docdir ......... Documentation will be installed to
(default DATADIR/doc)
-translationdir . Translations of Qt programs will be installed to
(default DATADIR/translations)
-sysconfdir ..... Settings used by Qt programs will be looked for in
(default PREFIX/etc/xdg)
-examplesdir .... Examples will be installed to
(default PREFIX/examples)
-testsdir ....... Tests will be installed to
(default PREFIX/tests)
-hostbindir .. Host executables will be installed to
(default HOSTPREFIX/bin)
-hostlibdir .. Host libraries will be installed to
(default HOSTPREFIX/lib)
-hostdatadir . Data used by qmake will be installed to
(default HOSTPREFIX)
Configure options:
The defaults (*) are usually acceptable. A plus (+) denotes a default value
that needs to be evaluated. If the evaluation succeeds, the feature is
included. Here is a short explanation of each option:
* -release ........... Compile and link Qt with debugging turned off.
-debug ............. Compile and link Qt with debugging turned on.
-debug-and-release . Compile and link two versions of Qt, with and without
debugging turned on (Mac only).
-force-debug-info .. Create symbol files for release builds.
-developer-build ... Compile and link Qt with Qt developer options (including auto-tests exporting)
* -no-optimized-tools ... Do not build optimized host tools even in debug build.
-optimized-tools ...... Build optimized host tools even in debug build.
-opensource ........ Compile and link the Open-Source Edition of Qt.
-commercial ........ Compile and link the Commercial Edition of Qt.
-confirm-license ... Automatically acknowledge the license (use with
either -opensource or -commercial)
-c++std .. Compile Qt with C++ standard edition (c++98, c++11, c++14, c++1z)
Default: highest supported
* -shared ............ Create and use shared Qt libraries.
-static ............ Create and use static Qt libraries.
-no-largefile ...... Disables large file support.
+ -largefile ......... Enables Qt to access files larger than 4 GB.
-no-accessibility .. Do not compile Accessibility support.
Disabling accessibility is not recommended, as it will break QStyle
and may break other internal parts of Qt.
With this switch you create a source incompatible version of Qt,
which is unsupported.
+ -accessibility ..... Compile Accessibility support.
-no-sql- ... Disable SQL entirely.
-qt-sql- ... Enable a SQL in the Qt SQL module, by default
none are turned on.
-plugin-sql- Enable SQL as a plugin to be linked to
at run time.
Possible values for :
[ db2 ibase mysql oci odbc psql sqlite sqlite2 tds ]
-system-sqlite ..... Use sqlite from the operating system.
-no-qml-debug ...... Do not build the in-process QML debugging support.
+ -qml-debug ......... Build the QML debugging support.
-platform target ... The operating system and compiler you are building
on (default detected from host system).
See the README file for a list of supported
operating systems and compilers.
-no-sse2 ........... Do not compile with use of SSE2 instructions.
-no-sse3 ........... Do not compile with use of SSE3 instructions.
-no-ssse3 .......... Do not compile with use of SSSE3 instructions.
-no-sse4.1 ......... Do not compile with use of SSE4.1 instructions.
-no-sse4.2 ......... Do not compile with use of SSE4.2 instructions.
-no-avx ............ Do not compile with use of AVX instructions.
-no-avx2 ........... Do not compile with use of AVX2 instructions.
-no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
-no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
-qtnamespace Wraps all Qt library code in 'namespace {...}'.
-qtlibinfix Renames all libQt*.so to libQt*.so.
-testcocoon ........ Instrument Qt with the TestCocoon code coverage tool.
-gcov .............. Instrument Qt with the GCov code coverage tool.
-D ........ Add an explicit define to the preprocessor.
-I ........ Add an explicit include path.
-L ........ Add an explicit library path.
+ -pkg-config ........ Use pkg-config to detect include and library paths. By default,
configure determines whether to use pkg-config or not with
some heuristics such as checking the environment variables.
-no-pkg-config ..... Disable use of pkg-config.
-force-pkg-config .. Force usage of pkg-config (skips pkg-config usability
detection heuristic).
-help, -h .......... Display this information.
Third Party Libraries:
-qt-zlib ............ Use the zlib bundled with Qt.
+ -system-zlib ........ Use zlib from the operating system.
See http://www.gzip.org/zlib
-no-mtdev ........... Do not compile mtdev support.
+ -mtdev .............. Enable mtdev support.
+ -no-journald ........ Do not send logging output to journald.
-journald ........... Send logging output to journald.
+ -no-syslog .......... Do not send logging output to syslog.
-syslog ............. Send logging output to syslog.
-no-gif ............. Do not compile GIF reading support.
-no-libpng .......... Do not compile PNG support.
-qt-libpng .......... Use the libpng bundled with Qt.
+ -system-libpng ...... Use libpng from the operating system.
See http://www.libpng.org/pub/png
-no-libjpeg ......... Do not compile JPEG support.
-qt-libjpeg ......... Use the libjpeg bundled with Qt.
+ -system-libjpeg ..... Use libjpeg from the operating system.
See http://www.ijg.org
-no-freetype ........ Do not compile in Freetype2 support.
-qt-freetype ........ Use the libfreetype bundled with Qt.
+ -system-freetype..... Use the libfreetype provided by the system (enabled if -fontconfig is active).
See http://www.freetype.org
-no-harfbuzz ........ Do not compile HarfBuzz-NG support.
* -qt-harfbuzz ........ Use HarfBuzz-NG bundled with Qt to do text shaping.
It can still be disabled by setting
the QT_HARFBUZZ environment variable to "old".
-system-harfbuzz .... Use HarfBuzz-NG from the operating system
to do text shaping. It can still be disabled
by setting the QT_HARFBUZZ environment variable to "old".
See http://www.harfbuzz.org
-no-openssl ......... Do not compile support for OpenSSL.
+ -openssl ............ Enable run-time OpenSSL support.
-openssl-linked ..... Enabled linked OpenSSL support.
-no-libproxy ....... Do not compile support for libproxy
+ -libproxy .......... Use libproxy from the operating system.
-qt-pcre ............ Use the PCRE library bundled with Qt.
+ -system-pcre ........ Use the PCRE library from the operating system.
-qt-xcb ............. Use xcb- libraries bundled with Qt.
(libxcb.so will still be used from operating system).
+ -system-xcb ......... Use xcb- libraries from the operating system.
-xkb-config-root .... Set default XKB config root. This option is used only together with -qt-xkbcommon-x11.
-qt-xkbcommon-x11 ... Use the xkbcommon library bundled with Qt in combination with xcb.
+ -system-xkbcommon-x11 Use the xkbcommon library from the operating system in combination with xcb.
-no-xkbcommon-evdev . Do not use X-less xkbcommon when compiling libinput support.
* -xkbcommon-evdev .... Use X-less xkbcommon when compiling libinput support.
-no-xinput2 ......... Do not compile XInput2 support.
* -xinput2 ............ Compile XInput2 support.
-no-xcb-xlib......... Do not compile Xcb-Xlib support.
* -xcb-xlib............ Compile Xcb-Xlib support.
-no-glib ............ Do not compile Glib support.
+ -glib ............... Compile Glib support.
-no-pulseaudio ...... Do not compile PulseAudio support.
+ -pulseaudio ......... Compile PulseAudio support.
-no-alsa ............ Do not compile ALSA support.
+ -alsa ............... Compile ALSA support.
-no-gtkstyle ........ Do not compile GTK theme support.
+ -gtkstyle ........... Compile GTK theme support.
Additional options:
-make ....... Add part to the list of parts to be built at make time.
(defaults to: libs tools examples)
-nomake ..... Exclude part from the list of parts to be built.
-skip ..... Exclude an entire module from the build.
-no-compile-examples ... Install only the sources of examples.
-no-gui ............ Don't build the Qt GUI module and dependencies.
+ -gui ............... Build the Qt GUI module and dependencies.
-no-widgets ........ Don't build the Qt Widgets module and dependencies.
+ -widgets ........... Build the Qt Widgets module and dependencies.
-R ........ Add an explicit runtime library path to the Qt
libraries.
-l ........ Add an explicit library.
-no-rpath .......... Do not use the library install path as a runtime
library path. On Apple platforms, this implies using
absolute install names (based in -libdir) for dynamic
libraries and frameworks.
+ -rpath ............. Link Qt libraries and executables using the library
install path as a runtime library path. Equivalent
to -R install_libpath
-continue .......... Continue as far as possible if an error occurs.
-verbose, -v ....... Print verbose information about each step of the
configure process.
-silent ............ Reduce the build output so that warnings and errors
can be seen more easily.
-no-cups ........... Do not compile CUPS support.
* -cups .............. Compile CUPS support.
Requires cups/cups.h and libcups.so.2.
-no-iconv .......... Do not compile support for iconv(3).
* -iconv ............. Compile support for iconv(3).
-no-evdev .......... Do not compile support for evdev.
* -evdev ............. Compile support for evdev.
-no-tslib .......... Do not compile support for tslib.
* -tslib ............. Compile support for tslib.
-no-icu ............ Do not compile support for ICU libraries.
+ -icu ............... Compile support for ICU libraries.
-no-fontconfig ..... Do not compile FontConfig support.
+ -fontconfig ........ Compile FontConfig support.
-no-strip .......... Do not strip binaries and libraries of unneeded symbols.
* -strip ............. Strip binaries and libraries of unneeded symbols when installing.
* -no-pch ............ Do not use precompiled header support.
-pch ............... Use precompiled header support.
* -no-ltcg Do not use Link Time Code Generation
-ltcg Use Link Time Code Generation.
-no-dbus ........... Do not compile the Qt D-Bus module.
+ -dbus-linked ....... Compile the Qt D-Bus module and link to libdbus-1.
-dbus-runtime ...... Compile the Qt D-Bus module and dynamically load libdbus-1.
-reduce-relocations ..... Reduce relocations in the libraries through extra
linker optimizations (Qt/X11 and Qt for Embedded Linux only;
experimental; needs GNU ld >= 2.18).
-no-use-gold-linker ..... Do not link using the GNU gold linker.
+ -use-gold-linker ........ Link using the GNU gold linker if available.
-force-asserts ........ Force Q_ASSERT to be enabled even in release builds.
-sanitize [address|thread|memory|undefined] Enables the specified compiler sanitizer.
-device ............... Cross-compile for device (experimental)
-device-option ... Add device specific options for the device mkspec
(experimental)
* -no-separate-debug-info . Do not store debug information in a separate file.
-separate-debug-info .... Strip debug information into a separate file.
-no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
* -xcb ............... Compile Xcb support.
-no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
* -eglfs ............. Compile EGLFS support.
-no-kms ............ Do not compile backends for KMS.
* -kms ............... Compile backends for KMS.
-no-gbm ............ Do not compile backends for GBM.
* -gbm ............... Compile backends for GBM.
* -no-directfb ....... Do not compile DirectFB support.
-directfb .......... Compile DirectFB support.
-no-linuxfb ........ Do not compile Linux Framebuffer support.
* -linuxfb ........... Compile Linux Framebuffer support.
* -no-mirclient....... Do not compile Mir client support.
-mirclient.......... Compile Mir client support.
-qpa ......... Sets the default QPA platform (e.g xcb, cocoa, windows).
-xplatform target ... The target platform when cross-compiling.
-sysroot ...... Sets as the target compiler's and qmake's sysroot and also sets pkg-config paths.
-no-gcc-sysroot ..... When using -sysroot, it disables the passing of --sysroot to the compiler
-no-feature- Do not compile in .
-feature- .. Compile in . The available features
are described in src/corelib/global/qfeatures.txt
-qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
default (full).
-qreal [double|float] typedef qreal to the specified type. The default is double.
Note that changing this flag affects binary compatibility.
-no-opengl .......... Do not support OpenGL.
-opengl ....... Enable OpenGL support
With no parameter, this will attempt to auto-detect
OpenGL ES 2.0 and higher, or regular desktop OpenGL.
Use es2 for to override auto-detection.
-no-libinput ........ Do not support libinput.
* -libinput ........... Enable libinput support.
-no-gstreamer ....... Do not support GStreamer.
+ -gstreamer Enable GStreamer support
With no parameter, this will attempt to auto-detect GStreamer 0.10 and
1.0. GStreamer 1.0 is used by default when available.
Use 0.10 or 1.0 for to override auto-detection.
* -no-system-proxies .. Do not use system network proxies by default.
-system-proxies ..... Use system network proxies by default.
-no-warnings-are-errors Make warnings be treated normally
-warnings-are-errors Make warnings be treated as errors
(enabled if -developer-build is active)
QNX/Blackberry options:
-no-slog2 .......... Do not compile with slog2 support.
-slog2 ............. Compile with slog2 support.
-no-pps ............ Do not compile with pps support.
-pps ............... Compile with pps support.
-no-imf ............ Do not compile with imf support.
-imf ............... Compile with imf support.
-no-lgmon .......... Do not compile with lgmon support.
-lgmon ............. Compile with lgmon support.
MacOS/iOS options:
-Fstring ........... Add an explicit framework path.
-fw string ......... Add an explicit framework.
* -framework ......... Build Qt as a series of frameworks and
link tools against those frameworks.
-no-framework ...... Do not build Qt as a series of frameworks.
* -securetransport ... Use SecureTransport instead of OpenSSL
-no-securetransport Do not use SecureTransport, either use OpenSSL or do not use any SSL backend
at all (if combined with -no-openssl).
-sdk ......... Build Qt using Apple provided SDK . The argument should be
one of the available SDKs as listed by 'xcodebuild -showsdks'.
Note that the argument applies only to Qt libraries and applications built
using the target mkspec - not host tools such as qmake, moc, rcc, etc.
Android options:
-android-sdk path .............. The Android SDK root path.
(default $ANDROID_SDK_ROOT)
-android-ndk path .............. The Android NDK root path.
(default $ANDROID_NDK_ROOT)
-android-ndk-platform .......... Sets the android platform
(default android-9)
-android-ndk-host .............. Sets the android NDK host (linux-x86, linux-x86_64, etc.)
(default $ANDROID_NDK_HOST)
-android-arch .................. Sets the android architecture (armeabi, armeabi-v7a, x86, mips,
arm64-v8a, x86_64, mips64)
(default armeabi-v7a)
-android-toolchain-version ..... Sets the android toolchain version
(default 4.9)
-no-android-style-assets ....... Do not compile in the code which automatically extracts
style assets from the run-time device. Setting this will
make the Android style behave incorrectly, but will enable
compatibility with the LGPL2.1 license.
* -android-style-assets .......... Compile the code which automatically extracts style assets
from the run-time device. This option will make the
Android platform plugin incompatible with the LGPL2.1.
编译odbc驱动需要安装unixodbc-dev:
sudo apt install unixodbc-dev
编译qtbase和qtwebsocket,不要GUI:
tar Jxvf ./qtbase-opensource-src-5.6.3.tar.xz
cd qtbase-opensource-src-5.6.3
./configure -prefix /opt/Qt-5.6.3 -release -opensource -confirm-license -c++std c++11 -static -qt-sql-odbc -qt-sql-sqlite -no-xcb -no-compile-examples -no-gui
make
sudo make install
tar Jxvf ./qtwebsockets-opensource-src-5.6.3.tar.xz
cd qtwebsockets-opensource-src-5.6.3
/opt/Qt-5.6.3/bin/qmake
make
sudo make install
其中的-c++std c++11可以去除或根据需要修改。