编译Qt5.6.3的qtbase和qtwebsocket

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可以去除或根据需要修改。

你可能感兴趣的:(其它,qt)