自主编译Qt Creator和Qt Designer源码

自主编译Qt Creator和Qt Designer源码

来源 https://blog.csdn.net/libaineu2004/article/details/104728857/

 

Qt Creator和Qt Designer都是很好的学习项目。

 

一、官方源码下载

1、官方github源码

https://github.com/qt-creator/qt-creator Qt Creator源码

https://github.com/qt-creator/qt-creator/tree/master/src/plugins/designer Qt Creator的设计师插件

https://github.com/qt/qtbase Qt核心类源码

https://github.com/qt/qttools Qt工具类源码

https://github.com/qt/qttools/tree/dev/src/designer Qt设计师的源码

https://github.com/qt/qttools/tree/dev/src/windeployqt 依赖库工具源码

2、官方正式发行网站

http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/qt-opensource-windows-x86-5.12.3.exe
http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/qt-opensource-mac-x64-5.12.3.dmg
http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/qt-opensource-linux-x64-5.12.3.run

http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/single/qt-everywhere-src-5.12.3.zip
http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/single/qt-everywhere-src-5.12.3.tar.xz

http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/submodules/qttools-everywhere-src-5.12.3.zip // 里面有Qt设计师的源码
http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.3/submodules/qttools-everywhere-src-5.12.3.tar.xz // 里面有Qt设计师的源码

 

二、笔者电脑的环境

1、Windows

Win7+Qt 5.12.5+Qt Creator 4.10+MSVC 2017 32bit+Python 3.7+ActivePerl-5.28 x64

2、MacOS-10.15-Catalina

MacOS 10.15.3+Qt 5.12.5+Qt Creator 4.10+Clang 11.0 x64+Python 3.7

Mac终端命令sw_vers可以查看Mac OS版本

Mac终端命令clang --version可以查看clang版本

 

三、编译

Qt Creator IDE分别打开源码文件夹的qtcreator.pro和qttools.pro文件,直接编译即可。

qt-creator-opensource-src-4.10.2

qttools-opensource-src-5.12.5

 

x、附录

build-qtcreator-Desktop_Qt_5_12_5_MSVC2017_32bit-Debug\src\app\app_version.h

#pragma once

namespace Core {
namespace Constants {

#define STRINGIFY_INTERNAL(x) #x
#define STRINGIFY(x) STRINGIFY_INTERNAL(x)

const char IDE_DISPLAY_NAME[] = "Qt Creator";
const char IDE_ID[] = "qtcreator";
const char IDE_CASED_ID[] = "QtCreator";

#define IDE_VERSION 4.10.2
#define IDE_VERSION_STR STRINGIFY(IDE_VERSION)
#define IDE_VERSION_DISPLAY_DEF 4.10.2

#define IDE_VERSION_MAJOR 4
#define IDE_VERSION_MINOR 10
#define IDE_VERSION_RELEASE 2

const char * const IDE_VERSION_LONG = IDE_VERSION_STR;
const char * const IDE_VERSION_DISPLAY = STRINGIFY(IDE_VERSION_DISPLAY_DEF);
const char * const IDE_AUTHOR = "The Qt Company Ltd";
const char * const IDE_YEAR = "2019";

#ifdef IDE_REVISION
const char * const IDE_REVISION_STR = STRINGIFY(IDE_REVISION);
#else
const char * const IDE_REVISION_STR = "";
#endif

// changes the path where the settings are saved to
#ifdef IDE_SETTINGSVARIANT
const char * const IDE_SETTINGSVARIANT_STR = STRINGIFY(IDE_SETTINGSVARIANT);
#else
const char * const IDE_SETTINGSVARIANT_STR = "QtProject";
#endif

#ifdef IDE_COPY_SETTINGS_FROM_VARIANT
const char * const IDE_COPY_SETTINGS_FROM_VARIANT_STR = STRINGIFY(IDE_COPY_SETTINGS_FROM_VARIANT);
#else
const char * const IDE_COPY_SETTINGS_FROM_VARIANT_STR = "";
#endif

#undef IDE_VERSION_DISPLAY_DEF
#undef IDE_VERSION
#undef IDE_VERSION_STR
#undef STRINGIFY
#undef STRINGIFY_INTERNAL

} // Constants
} // Core

 

==================

HOW TO BUILD QT5
================


 Synopsis
 ========

   System requirements
   ------------------

    - Perl 5.8 or later
    - Python 2.7 or later
    - C++ compiler supporting the C++11 standard

     For other platform specific requirements,
     please see section "Setting up your machine" on:
     http://wiki.qt.io/Get_The_Source

   Licensing:
   ----------

    Opensource users:

        <license>        = -opensource

    Commercial users:

        <license>        = -commercial

   Linux, Mac:
   -----------

     cd <path>/<source_package>
     ./configure -prefix $PWD/qtbase <license> -nomake tests
     make -j 4

   Windows:
   --------

     Open a command prompt.
     Ensure that the following tools can be found in the path:
     * Supported compiler (Visual Studio 2012 or later,
        MinGW-builds gcc 4.9 or later)
     * Perl version 5.12 or later   [http://www.activestate.com/activeperl/]
     * Python version 2.7 or later  [http://www.activestate.com/activepython/]
     * Ruby version 1.9.3 or later  [http://rubyinstaller.org/]

     cd <path>\<source_package>
     configure -prefix %CD%\qtbase <license> -nomake tests
     nmake // jom // mingw32-make

     To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
     "-make-tool jom" on the configure command line. If you do not use jom,
     adding "/MP" to the CL environment variable is a good idea.

 More details follow.

 Build!
 ======

 A typical `configure; make' build process is used.

 Some relevant configure options (see configure -help):

 -release              Compile and link Qt with debugging turned off.
 -debug                Compile and link Qt with debugging turned on.
 -nomake tests         Disable building of tests to speed up compilation
 -nomake examples      Disable building of examples to speed up compilation
 -confirm-license      Automatically acknowledge the LGPL 2.1 license.

 Example for a release build:
 (adjust the `-jN' parameter as appropriate for your system)

   ./configure -prefix $PWD/qtbase <license>
   make -j4

 Example for a developer build:
 (enables more autotests, builds debug version of libraries, ...)

   ./configure -developer-build <license>
   make -j4

 See output of `./configure -help' for documentation on various options to
 configure.

 The above examples will build whatever Qt5 modules have been enabled by
 default in the build system.

 It is possible to build selected modules with their dependencies by doing
 a `make module-<foo>'.  For example, to build only qtdeclarative,
 and the modules it depends on:

   ./configure -prefix $PWD/qtbase <license>
   make -j4 module-qtdeclarative

 This can save a lot of time if you are only interested in a subset of Qt5.


 Hints
 =====

 The submodule repository qtrepotools contains useful scripts for
 developers and release engineers. Consider adding qtrepotools/bin
 to your PATH environment variable to access them.

 The qt5_tool in qtrepotools has some more features which may be of interest.
 Try `qt5_tool --help'.


 Building Qt5 from git
 =====================
 See http://wiki.qt.io/Building_Qt_5_from_Git and README.git
 for more information.
 See http://wiki.qt.io/Qt_5 for the reference platforms.


 Documentation
 =============

 After configuring and compiling Qt, building the documentation is possible by running
 "make docs".

 After having built the documentation, you need to install it with the following
 command:

    make install_docs

 The documentation is installed in the path set to $QT_INSTALL_DOCS.
 Running "qmake -query" will list the value of QT_INSTALL_DOCS.

 Information about Qt 5's documentation is located in qtbase/doc/README
 or in the following page: http://wiki.qt.io/Qt5DocumentationProject

 Note: Building the documentation is only tested on desktop platforms.

 

E:\Develop\qt-everywhere-src-5.12.3>configure --help
+ cd qtbase
+ E:\Develop\qt-everywhere-src-5.12.3\qtbase\configure.bat -top-level --help
Usage:  configure [options] [assignments]

Configure understands variable assignments like VAR=value on the command line.
Each uppercased library name (obtainable with -list-libraries) supports the
suffixes _INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=PREFIX/lib),
_LIBS, and - on Windows and Darwin - _LIBS_DEBUG and _LIBS_RELEASE. E.g.,
ICU_PREFIX=/opt/icu42 ICU_LIBS="-licui18n -licuuc -licudata".

It is also possible to manipulate any QMAKE_* variable, to amend the values
from the mkspec for the build of Qt itself, e.g., QMAKE_CXXFLAGS+=-g3.

Note that the *_LIBS* and QMAKE_* assignments manipulate lists, so items
containing meta characters (spaces in particular) need to be quoted according
to qmake rules. On top of that, the assignments as a whole need to be quoted
according to shell rules. It is recommended to use single quotes for the inner
quoting and double quotes for the outer quoting.

Top-level installation directories:
  -prefix <dir> ...... The deployment directory, as seen on the target device.
                       [/usr/local/Qt-$QT_VERSION; qtbase build directory if
                       -developer-build]
  -extprefix <dir> ... The installation directory, as seen on the host machine.
                       [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. [EXTPREFIX]
  -external-hostbindir <path> ... Path to Qt tools built for this machine.
                       Use this when -platform does not match the current
                       system, i.e., to make a Canadian Cross Build.

Fine tuning of installation directory layout. Note that all directories
except -sysconfdir should be located under -prefix/-hostprefix:

  -bindir <dir> ......... Executables [PREFIX/bin]
  -headerdir <dir> ...... Header files [PREFIX/include]
  -libdir <dir> ......... Libraries [PREFIX/lib]
  -archdatadir <dir> .... Arch-dependent data [PREFIX]
  -plugindir <dir> ...... Plugins [ARCHDATADIR/plugins]
  -libexecdir <dir> ..... Helper programs [ARCHDATADIR/bin on Windows,
                          ARCHDATADIR/libexec otherwise]
  -importdir <dir> ...... QML1 imports [ARCHDATADIR/imports]
  -qmldir <dir> ......... QML2 imports [ARCHDATADIR/qml]
  -datadir <dir> ........ Arch-independent data [PREFIX]
  -docdir <dir> ......... Documentation [DATADIR/doc]
  -translationdir <dir> . Translations [DATADIR/translations]
  -sysconfdir <dir> ..... Settings used by Qt programs [PREFIX/etc/xdg]
  -examplesdir <dir> .... Examples [PREFIX/examples]
  -testsdir <dir> ....... Tests [PREFIX/tests]

  -hostbindir <dir> ..... Host executables [HOSTPREFIX/bin]
  -hostlibdir <dir> ..... Host libraries [HOSTPREFIX/lib]
  -hostdatadir <dir> .... Data used by qmake [HOSTPREFIX]

Conventions for the remaining options: When an option's description is
followed by a list of values in brackets, the interpretation is as follows:
'yes' represents the bare option; all other values are possible prefixes to
the option, e.g., -no-gui. Alternatively, the value can be assigned, e.g.,
--gui=yes. Values are listed in the order they are tried if not specified;
'auto' is a shorthand for 'yes/no'. Solitary 'yes' and 'no' represent binary
options without auto-detection.

Configure meta:

  -help, -h ............ Display this help screen
  -verbose, -v ......... Print verbose messages during configuration
  -continue ............ Continue configure despite errors
  -redo ................ Re-configure with previously used options.
                         Additional options may be passed, but will not be
                         saved for later use by -redo.
  -recheck [test,...] .. Discard cached negative configure test results.
                         Use this after installing missing dependencies.
                         Alternatively, if tests are specified, only their
                         results are discarded.
  -recheck-all ......... Discard all cached configure test results.

  -feature-<feature> ... Enable <feature>
  -no-feature-<feature>  Disable <feature> [none]
  -list-features ....... List available features. Note that some features
                         have dedicated command line options as well.

  -list-libraries ...... List possible external dependencies.

Build options:

  -opensource .......... Build the Open-Source Edition of Qt
  -commercial .......... Build the Commercial Edition of Qt
  -confirm-license ..... Automatically acknowledge the license

  -release ............. Build Qt with debugging turned off [yes]
  -debug ............... Build Qt with debugging turned on [no]
  -debug-and-release ... Build two versions of Qt, with and without
                         debugging turned on [yes] (Apple and Windows only)
  -optimize-debug ...... Enable debug-friendly optimizations in debug builds
                         [auto] (Not supported with MSVC or Clang toolchains)
  -optimize-size ....... Optimize release builds for size instead of speed [no]
  -optimized-tools ..... Build optimized host tools even in debug build [no]
  -force-debug-info .... Create symbol files for release builds [no]
  -separate-debug-info . Split off debug information to separate files [no]
  -gdb-index ........... Index the debug info to speed up GDB
                         [no; auto if -developer-build with debug info]
  -strip ............... Strip release binaries of unneeded symbols [yes]
  -gc-binaries ......... Place each function or data item into its own section
                         and enable linker garbage collection of unused
                         sections. [auto for static builds, otherwise no]
  -force-asserts ....... Enable Q_ASSERT even in release builds [no]
  -developer-build ..... Compile and link Qt for developing Qt itself
                         (exports for auto-tests, extra checks, etc.) [no]

  -shared .............. Build shared Qt libraries [yes] (no for UIKit)
  -static .............. Build static Qt libraries [no] (yes for UIKit)
  -framework ........... Build Qt framework bundles [yes] (Apple only)

  -platform <target> ... Select host mkspec [detected]
  -xplatform <target> .. Select target mkspec when cross-compiling [PLATFORM]
  -device <name> ....... Cross-compile for device <name>
  -device-option <key=value> ... Add option for the device mkspec

  -appstore-compliant .. Disable code that is not allowed in platform app stores.
                         This is on by default for platforms which require distribution
                         through an app store by default, in particular Android,
                         iOS, tvOS, watchOS, and Universal Windows Platform. [auto]

  -qtnamespace <name> .. Wrap all Qt library code in 'namespace <name> {...}'.
  -qtlibinfix <infix> .. Rename all libQt5*.so to libQt5*<infix>.so.

  -testcocoon .......... Instrument with the TestCocoon code coverage tool [no]
  -gcov ................ Instrument with the GCov code coverage tool [no]

  -trace [backend] ..... Enable instrumentation with tracepoints.
                         Currently supported backends are 'etw' (Windows) and
                         'lttng' (Linux), or 'yes' for auto-detection. [no]

  -sanitize {address|thread|memory|undefined}
                         Instrument with the specified compiler sanitizer.
                         Note that some sanitizers cannot be combined;
                         for example, -sanitize address cannot be combined with
                         -sanitize thread.

  -c++std <edition> .... Select C++ standard <edition> [c++1z/c++14/c++11]
                         (Not supported with MSVC)

  -sse2 ................ Use SSE2 instructions [auto]
  -sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512
                         Enable use of particular x86 instructions [auto]
                         Enabled ones are still subject to runtime detection.
  -mips_dsp/-mips_dspr2  Use MIPS DSP/rev2 instructions [auto]

  -qreal <type> ........ typedef qreal to the specified type. [double]
                         Note: this affects binary compatibility.

  -R <string> .......... Add an explicit runtime library path to the Qt
                         libraries. Supports paths relative to LIBDIR.
  -rpath ............... Link Qt libraries and executables using the library
                         install path as a runtime library path. Similar to
                         -R LIBDIR. On Apple platforms, disabling this implies
                         using absolute install names (based in LIBDIR) for
                         dynamic libraries and frameworks. [auto]

  -reduce-exports ...... Reduce amount of exported symbols [auto]
  -reduce-relocations .. Reduce amount of relocations [auto] (Unix only)

  -plugin-manifests .... Embed manifests into plugins [no] (Windows only)
  -static-runtime ...... With -static, use static runtime [no] (Windows only)

  -pch ................. Use precompiled headers [auto]
  -ltcg ................ Use Link Time Code Generation [no]
  -use-gold-linker ..... Use the GNU gold linker [auto]
  -incredibuild-xge .... Use the IncrediBuild XGE [no] (Windows only)
  -ccache .............. Use the ccache compiler cache [no] (Unix only)
  -make-tool <tool> .... Use <tool> to build qmake [nmake] (Windows only)
  -mp .................. Use multiple processors for compilation (MSVC only)

  -warnings-are-errors . Treat warnings as errors [no; yes if -developer-build]
  -silent .............. Reduce the build output so that warnings and errors
                         can be seen more easily

Build environment:

  -sysroot <dir> ....... Set <dir> as the target sysroot
  -gcc-sysroot ......... With -sysroot, pass --sysroot to the compiler [yes]

  -pkg-config .......... Use pkg-config [auto] (Unix only)

  -D <string> .......... Pass additional preprocessor define
  -I <string> .......... Pass additional include path
  -L <string> .......... Pass additional library path
  -F <string> .......... Pass additional framework path (Apple only)

  -sdk <sdk> ........... Build Qt using Apple provided SDK <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-sdk path .... Set Android SDK root path [$ANDROID_SDK_ROOT]
  -android-ndk path .... Set Android NDK root path [$ANDROID_NDK_ROOT]
  -android-ndk-platform  Set Android platform
  -android-ndk-host .... Set Android NDK host (linux-x86, linux-x86_64, etc.)
                         [$ANDROID_NDK_HOST]
  -android-arch ........ Set Android architecture (armeabi, armeabi-v7a,
                         arm64-v8a, x86, x86_64, mips, mips64)
  -android-toolchain-version ... Set Android toolchain version
  -android-style-assets  Automatically extract style assets from the device at
                         run time. This option makes the Android style behave
                         correctly, but also makes the Android platform plugin
                         incompatible with the LGPL2.1. [yes]

Component selection:

  -skip <repo> ......... Exclude an entire repository from the build.
  -make <part> ......... Add <part> to the list of parts to be built.
                         Specifying this option clears the default list first.
                         [libs and examples, also tools if not cross-building,
                         also tests if -developer-build]
  -nomake <part> ....... Exclude <part> from the list of parts to be built.
  -compile-examples .... When unset, install only the sources of examples
                         [no on WebAssembly, otherwise yes]
  -gui ................. Build the Qt GUI module and dependencies [yes]
  -widgets ............. Build the Qt Widgets module and dependencies [yes]
  -no-dbus ............. Do not build the Qt D-Bus module
                         [default on Android and Windows]
  -dbus-linked ......... Build Qt D-Bus and link to libdbus-1 [auto]
  -dbus-runtime ........ Build Qt D-Bus and dynamically load libdbus-1 [no]
  -accessibility ....... Enable accessibility support [yes]
                         Note: Disabling accessibility is not recommended.

Qt comes with bundled copies of some 3rd party libraries. These are used
by default if auto-detection of the respective system library fails.

Core options:

  -doubleconversion .... Select used double conversion library [system/qt/no]
                         No implies use of sscanf_l and snprintf_l (imprecise).
  -glib ................ Enable Glib support [no; auto on Unix]
  -eventfd ............. Enable eventfd support
  -inotify ............. Enable inotify support
  -iconv ............... Enable iconv(3) support [posix/sun/gnu/no] (Unix only)
  -icu ................. Enable ICU support [auto]
  -pcre ................ Select used libpcre2 [system/qt]
  -pps ................. Enable PPS support [auto] (QNX only)
  -zlib ................ Select used zlib [system/qt]

  Logging backends:
    -journald .......... Enable journald support [no] (Unix only)
    -syslog ............ Enable syslog support [no] (Unix only)
    -slog2 ............. Enable slog2 support [auto] (QNX only)

Network options:

  -ssl ................. Enable either SSL support method [auto]
  -no-openssl .......... Do not use OpenSSL [default on Apple and WinRT]
  -openssl-linked ...... Use OpenSSL and link to libssl [no]
  -openssl-runtime ..... Use OpenSSL and dynamically load libssl [auto]
  -securetransport ..... Use SecureTransport [auto] (Apple only)

  -sctp ................ Enable SCTP support [no]

  -libproxy ............ Enable use of libproxy [no]
  -system-proxies ...... Use system network proxies by default [yes]

Gui, printing, widget options:

  -cups ................ Enable CUPS support [auto] (Unix only)

  -fontconfig .......... Enable Fontconfig support [auto] (Unix only)
  -freetype ............ Select used FreeType [system/qt/no]
  -harfbuzz ............ Select used HarfBuzz-NG [system/qt/no]
                         (Not auto-detected on Apple and Windows)

  -gtk ................. Enable GTK platform theme support [auto]

  -lgmon ............... Enable lgmon support [auto] (QNX only)

  -no-opengl ........... Disable OpenGL support
  -opengl <api> ........ Enable OpenGL support. Supported APIs:
                         es2 (default on Windows), desktop (default on Unix),
                         dynamic (Windows only)
  -opengles3 ........... Enable OpenGL ES 3.x support instead of ES 2.x [auto]
  -angle ............... Use bundled ANGLE to support OpenGL ES 2.0 [auto]
                         (Windows only)
  -combined-angle-lib .. Merge LibEGL and LibGLESv2 into LibANGLE (Windows only)

  -qpa <name> .......... Select default QPA backend(s) (e.g., xcb, cocoa, windows)
                         A prioritized list separated by semi-colons.
  -xcb-xlib............. Enable Xcb-Xlib support [auto]

  Platform backends:
    -direct2d .......... Enable Direct2D support [auto] (Windows only)
    -directfb .......... Enable DirectFB support [no] (Unix only)
    -eglfs ............. Enable EGLFS support [auto; no on Android and Windows]
    -gbm ............... Enable backends for GBM [auto] (Linux only)
    -kms ............... Enable backends for KMS [auto] (Linux only)
    -linuxfb ........... Enable Linux Framebuffer support [auto] (Linux only)
    -mirclient ......... Enable Mir client support [no] (Linux only)
    -xcb ............... Enable X11 support. Select used xcb-* libraries [system/qt/no]
                         (-qt-xcb still uses system version of libxcb itself)

  Input backends:
    -libudev............ Enable udev support [auto]
    -evdev ............. Enable evdev support [auto]
    -imf ............... Enable IMF support [auto] (QNX only)
    -libinput .......... Enable libinput support [auto]
    -mtdev ............. Enable mtdev support [auto]
    -tslib ............. Enable tslib support [auto]
    -xcb-xinput ........ Enable XInput2 support [auto]
    -xkbcommon ......... Enable key mapping support [auto]

  Image formats:
    -gif ............... Enable reading support for GIF [auto]
    -ico ............... Enable support for ICO [yes]
    -libpng ............ Select used libpng [system/qt/no]
    -libjpeg ........... Select used libjpeg [system/qt/no]

Database options:

  -sql-<driver> ........ Enable SQL <driver> plugin. Supported drivers:
                         db2 ibase mysql oci odbc psql sqlite2 sqlite tds
                         [all auto]
  -sqlite .............. Select used sqlite3 [system/qt]

Qt3D options:

  -assimp .............. Select used assimp library [system/qt/no]
  -qt3d-profile-jobs ... Enable jobs profiling [no]
  -qt3d-profile-gl ..... Enable OpenGL profiling [no]
  -qt3d-simd ........... Select level of SIMD support [no/sse2/avx2]
  -qt3d-render ......... Enable the Qt3D Render aspect [yes]
  -qt3d-input .......... Enable the Qt3D Input aspect [yes]
  -qt3d-logic .......... Enable the Qt3D Logic aspect [yes]
  -qt3d-extras ......... Enable the Qt3D Extras aspect [yes]
  -qt3d-animation....... Enable the Qt3D Animation aspect [yes]

Multimedia options:

  -pulseaudio .......... Enable PulseAudio support [auto] (Unix only)
  -alsa ................ Enable ALSA support [auto] (Unix only)
  -no-gstreamer ........ Disable support for GStreamer
  -gstreamer [version] . Enable GStreamer support [auto]
                         With no parameter, 1.0 is tried first, then 0.10.
  -mediaplayer-backend <name> ... Select media player backend (Windows only)
                                  Supported backends: directshow (default), wmf
  -evr ................. Enables EVR in DirectShow and WMF [auto]

Webengine options:
  -webengine-alsa ................ Enable ALSA support [auto] (Linux only)
  -webengine-pulseaudio .......... Enable PulseAudio support [auto]
                                   (Linux only)
  -webengine-embedded-build ...... Enable Linux embedded build [auto]
                                   (Linux only)
  -webengine-icu ................. Use system ICU libraries [system/qt]
                                   (Linux only)
  -webengine-ffmpeg .............. Use system FFmpeg libraries [system/qt]
                                   (Linux only)
  -webengine-opus ................ Use system Opus libraries [system/qt]
                                   (Linux only)
  -webengine-webp ................ Use system WebP libraries [system/qt]
                                   (Linux only)
  -webengine-pepper-plugins ...... Enable use of Pepper Flash and Widevine
                                   plugins [auto]
  -webengine-printing-and-pdf .... Enable use of printing and output to PDF
                                   [auto]
  -webengine-proprietary-codecs .. Enable support for proprietary codecs [no]
  -webengine-spellchecker ........ Enable support for spellchecker [yes]
  -webengine-native-spellchecker . Enable support for native spellchecker [no]
                                   (macOS only)
  -webengine-webrtc .............. Enable support for WebRTC [auto]

E:\Develop\qt-everywhere-src-5.12.3>configure --list-features
+ cd qtbase
+ E:\Develop\qt-everywhere-src-5.12.3\qtbase\configure.bat -top-level --list-features
Bootstrapping qmake ...

Microsoft (R) 程序维护实用工具 14.13.26131.1 版
版权所有 (C) Microsoft Corporation。  保留所有权利。

        cl -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE -c -Yc -Fpqmake_pch.pch -TP E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\qmake_pch.h
qmake_pch.h
        cl -c -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qstring_compat.cpp
qstring_compat.cpp
        cl -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_BUILD_QMAKE_BOOTSTRAP E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qlibraryinfo.cpp
qlibraryinfo.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\project.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\main.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\option.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\property.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\meta.cpp
project.cpp
main.cpp
option.cpp
property.cpp
meta.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\ioutils.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\proitems.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\qmakevfs.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\qmakeglobals.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\qmakeparser.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\qmakeevaluator.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\qmakebuiltins.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library\registry.cpp
ioutils.cpp
proitems.cpp
qmakevfs.cpp
qmakeglobals.cpp
qmakeparser.cpp
qmakeevaluator.cpp
qmakebuiltins.cpp
registry.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\makefile.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\projectgenerator.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\makefiledeps.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\metamakefile.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\xmloutput.cpp
makefile.cpp
projectgenerator.cpp
makefiledeps.cpp
metamakefile.cpp
xmloutput.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix\unixmake.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix\unixmake2.cpp
unixmake.cpp
unixmake2.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\mingw_make.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\winmakefile.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\msvc_nmake.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\msvc_vcproj.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\msvc_vcxproj.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\msvc_objectmodel.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32\msbuild_objectmodel.cpp
mingw_make.cpp
winmakefile.cpp
msvc_nmake.cpp
msvc_vcproj.cpp
msvc_vcxproj.cpp
msvc_objectmodel.cpp
msbuild_objectmodel.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qbitarray.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qcryptographichash.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qarraydata.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qbytearray.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qvsnprintf.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qbytearraymatcher.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qdatetime.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qhash.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qringbuffer.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qlist.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qlinkedlist.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qlocale.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qlocale_tools.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qlocale_win.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qversionnumber.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qmap.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qregexp.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qstring.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qstringlist.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\tools\qstringbuilder.cpp
qbitarray.cpp
qcryptographichash.cpp
qarraydata.cpp
qbytearray.cpp
qvsnprintf.cpp
qbytearraymatcher.cpp
qdatetime.cpp
qhash.cpp
qringbuffer.cpp
qlist.cpp
qlinkedlist.cpp
qlocale.cpp
qlocale_tools.cpp
qlocale_win.cpp
qversionnumber.cpp
qmap.cpp
qregexp.cpp
qstring.cpp
qstringlist.cpp
qstringbuilder.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qbuffer.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfilesystementry.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfilesystemengine.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfilesystemengine_win.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfilesystemiterator_win.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfsfileengine.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfsfileengine_iterator.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qdir.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qdiriterator.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfiledevice.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfile.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qtemporaryfile.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qabstractfileengine.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfsfileengine_win.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qfileinfo.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qiodevice.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qdebug.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qsettings.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\io\qsettings_win.cpp
qbuffer.cpp
qfilesystementry.cpp
qfilesystemengine.cpp
qfilesystemengine_win.cpp
qfilesystemiterator_win.cpp
qfsfileengine.cpp
qfsfileengine_iterator.cpp
qdir.cpp
qdiriterator.cpp
qfiledevice.cpp
qfile.cpp
qtemporaryfile.cpp
qabstractfileengine.cpp
qfsfileengine_win.cpp
qfileinfo.cpp
qiodevice.cpp
qdebug.cpp
qsettings.cpp
qsettings_win.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\plugin\qsystemlibrary.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\plugin\quuid.cpp
qsystemlibrary.cpp
quuid.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qendian.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qglobal.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qmalloc.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qoperatingsystemversion.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qoperatingsystemversion_win.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qrandom.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qnumeric.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qlogging.cpp
qendian.cpp
qglobal.cpp
qmalloc.cpp
qoperatingsystemversion.cpp
qoperatingsystemversion_win.cpp
qrandom.cpp
qnumeric.cpp
qlogging.cpp
E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\global\qglobal.cpp: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\codecs\qutfcodec.cpp
qutfcodec.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\kernel\qsystemerror.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\kernel\qvariant.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\kernel\qmetatype.cpp
qsystemerror.cpp
qvariant.cpp
qmetatype.cpp
        cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\library -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\unix -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\win32 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\qmake\generators\mac  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3 -IE:\Develop\qt-everywhere-src-5.12.3\qtbase/include\QtCore\5.12.3\QtCore  -I..\src\corelib\global  -IE:\Develop\qt-everywhere-src-5.12.3\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.12.3\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=12 -DQT_VERSION_PATCH=3  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qtextstream.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qdatastream.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qxmlstream.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qxmlutils.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qjson.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qjsondocument.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qjsonparser.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qjsonarray.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qjsonobject.cpp E:\Develop\qt-everywhere-src-5.12.3\qtbase\src\corelib\serialization\qjsonvalue.cpp
qtextstream.cpp
qdatastream.cpp
qxmlstream.cpp
qxmlutils.cpp
qjson.cpp
qjsondocument.cpp
qjsonparser.cpp
qjsonarray.cpp
qjsonobject.cpp
qjsonvalue.cpp
        link  /OUT:..\bin\qmake.exe project.obj main.obj ioutils.obj proitems.obj qmakevfs.obj  qmakeglobals.obj qmakeparser.obj qmakeevaluator.obj qmakebuiltins.obj  makefile.obj unixmake.obj unixmake2.obj mingw_make.obj  option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj  makefiledeps.obj metamakefile.obj xmloutput.obj  msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj  msvc_objectmodel.obj msbuild_objectmodel.obj registry.obj qbitarray.obj  qbuffer.obj  qcryptographichash.obj  qfilesystementry.obj  qfilesystemengine.obj  qfilesystemengine_win.obj  qfilesystemiterator_win.obj  qfsfileengine.obj  qfsfileengine_iterator.obj  qarraydata.obj  qbytearray.obj  qvsnprintf.obj  qbytearraymatcher.obj  qdatetime.obj  qdir.obj  qdiriterator.obj  qfiledevice.obj  qfile.obj  qtemporaryfile.obj  qabstractfileengine.obj  qfsfileengine_win.obj  qsystemlibrary.obj  qfileinfo.obj  qendian.obj  qglobal.obj  qhash.obj  qiodevice.obj  qringbuffer.obj  qdebug.obj  qlist.obj  qlinkedlist.obj  qlocale.obj  qlocale_tools.obj  qlocale_win.obj  qversionnumber.obj  qmalloc.obj  qmap.obj  qoperatingsystemversion.obj  qoperatingsystemversion_win.obj  qregexp.obj  qutfcodec.obj  qstring.obj  qstring_compat.obj  qstringlist.obj  qstringbuilder.obj  qsystemerror.obj  qtextstream.obj  qdatastream.obj  quuid.obj  qrandom.obj  qsettings.obj  qvariant.obj  qsettings_win.obj  qmetatype.obj  qxmlstream.obj  qxmlutils.obj  qnumeric.obj  qlogging.obj  qjson.obj  qjsondocument.obj  qjsonparser.obj  qjsonarray.obj  qjsonobject.obj  qjsonvalue.obj qlibraryinfo.obj qmake_pch.obj ole32.lib advapi32.lib shell32.lib netapi32.lib
Microsoft (R) Incremental Linker Version 14.13.26131.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Info: creating super cache file E:\Develop\qt-everywhere-src-5.12.3\.qmake.super
Info: creating cache file E:\Develop\qt-everywhere-src-5.12.3\.qmake.cache

abstractbutton .......... Widgets: Abstract base class of button widgets, providing functionality common to buttons.
abstractslider .......... Widgets: Common super class for widgets like QScrollBar, QSlider and QDial.
accessibility ........... Utilities: Provides accessibility support.
action .................. Kernel: Provides widget actions.
animation ............... Utilities: Provides a framework for animations.
appstore-compliant ...... Disables code that is not allowed in platform app stores
bearermanagement ........ Networking: Provides bearer management for the network stack.
big_codecs .............. Internationalization: Supports big codecs, e.g. CJK.
buttongroup ............. Widgets: Supports organizing groups of button widgets.
calendarwidget .......... Widgets: Provides a monthly based calendar widget allowing the user to select a date.
checkbox ................ Widgets: Provides a checkbox with a text label.
clipboard ............... Kernel: Provides cut and paste operations.
codecs .................. Internationalization: Supports non-unicode text conversions.
colordialog ............. Dialogs: Provides a dialog widget for specifying colors.
colornames .............. Painting: Supports color names such as "red", used by QColor and by some HTML documents.
columnview .............. ItemViews: Provides a model/view implementation of a column view.
combobox ................ Widgets: Provides drop-down boxes presenting a list of options to the user.
commandlineparser ....... Utilities: Provides support for command line parsing.
commandlinkbutton ....... Widgets: Provides a Vista style command link button.
completer ............... Utilities: Provides completions based on an item model.
concurrent .............. Kernel: Provides a high-level multi-threading API.
contextmenu ............. Widgets: Adds pop-up menus on right mouse click to numerous widgets.
cssparser ............... Kernel: Provides a parser for Cascading Style Sheets.
cups .................... Painting: Provides support for the Common Unix Printing System.
cursor .................. Kernel: Provides mouse cursors.
d3d12 ................... Qt Quick: Provides a Direct3D 12 backend for the scenegraph.
datawidgetmapper ........ ItemViews: Provides mapping between a section of a data model to widgets.
datestring .............. Data structures: Provides convertion between dates and strings.
datetimeedit ............ Widgets: Supports editing dates and times.
datetimeparser .......... Utilities: Provides support for parsing date-time texts.
desktopservices ......... Utilities: Provides methods for accessing common desktop services.
dial .................... Widgets: Provides a rounded range control, e.g., like a speedometer.
dialog .................. Dialogs: Base class of dialog windows.
dialogbuttonbox ......... Dialogs: Presents buttons in a layout that is appropriate for the current widget style.
dirmodel ................ ItemViews: Provides a data model for the local filesystem.
dnslookup ............... Networking: Provides API for DNS lookups.
dockwidget .............. Widgets: Supports docking widgets inside a QMainWindow or floated as a top-level window on the desktop.
dom ..................... File I/O: Supports the Document Object Model.
draganddrop ............. Kernel: Supports the drag and drop mechansim.
dtls .................... Networking: Provides a DTLS implementation
effects ................. Kernel: Provides special widget effects (e.g. fading and scrolling).
errormessage ............ Dialogs: Provides an error message display dialog.
filedialog .............. Dialogs: Provides a dialog widget for selecting files or directories.
filesystemiterator ...... File I/O: Provides fast file system iteration.
filesystemmodel ......... File I/O: Provides a data model for the local filesystem.
filesystemwatcher ....... File I/O: Provides an interface for monitoring files and directories for modifications.
fontcombobox ............ Widgets: Provides a combobox that lets the user select a font family.
fontdialog .............. Dialogs: Provides a dialog widget for selecting fonts.
formlayout .............. Widgets: Manages forms of input widgets and their associated labels.
freetype ................ Fonts: Supports the FreeType 2 font engine (and its supported font formats).
fscompleter ............. Utilities: Provides file name completion in QFileDialog.
ftp ..................... Networking: Provides support for the File Transfer Protocol in QNetworkAccessManager.
future .................. Kernel: Provides QFuture and related classes.
geoservices_esri ........ Location: Provides access to Esri geoservices
geoservices_here ........ Location: Provides access to HERE geoservices
geoservices_itemsoverlay . Location: Provides access to the itemsoverlay maps
geoservices_mapbox ...... Location: Provides access to Mapbox geoservices
geoservices_mapboxgl .... Location: Provides access to the Mapbox vector maps
geoservices_osm ......... Location: Provides access to OpenStreetMap geoservices
gestures ................ Utilities: Provides a framework for gestures.
graphicseffect .......... Widgets: Provides various graphics effects.
graphicsview ............ Widgets: Provides a canvas/sprite framework.
groupbox ................ Widgets: Provides widget grouping boxes with frames.
highdpiscaling .......... Kernel: Provides automatic scaling of DPI-unaware applications on high-DPI displays.
http .................... Networking: Provides support for the Hypertext Transfer Protocol in QNetworkAccessManager.
iconv ................... Internationalization: Provides internationalization on Unix.
identityproxymodel ...... ItemViews: Supports proxying a source model unmodified.
im ...................... Kernel: Provides complex input methods.
image_heuristic_mask .... Images: Supports creating a 1-bpp heuristic mask for images.
image_text .............. Images: Supports image file text strings.
imageformat_bmp ......... Images: Supports Microsoft's Bitmap image file format.
imageformat_jpeg ........ Images: Supports the Joint Photographic Experts Group image file format.
imageformat_png ......... Images: Supports the Portable Network Graphics image file format.
imageformat_ppm ......... Images: Supports the Portable Pixmap image file format.
imageformat_xbm ......... Images: Supports the X11 Bitmap image file format.
imageformat_xpm ......... Images: Supports the X11 Pixmap image file format.
imageformatplugin ....... Images: Provides a base for writing a image format plugins.
inputdialog ............. Dialogs: Provides a simple convenience dialog to get a single value from the user.
itemmodel ............... ItemViews: Provides the item model for item views
itemmodeltester ......... Provides a utility to test item models.
itemviews ............... ItemViews: Provides the model/view architecture managing the relationship between data and the way it is presented to the user.
keysequenceedit ......... Widgets: Provides a widget for editing QKeySequences.
label ................... Widgets: Provides a text or image display.
lcdnumber ............... Widgets: Provides LCD-like digits.
library ................. File I/O: Provides a wrapper for dynamically loaded libraries.
lineedit ................ Widgets: Provides single-line edits.
listview ................ ItemViews: Provides a list or icon view onto a model.
listwidget .............. Widgets: Provides item-based list widgets.
localserver ............. Networking: Provides a local socket based server.
location-labs-plugin .... Location: Provides experimental QtLocation QML types
mainwindow .............. Widgets: Provides main application windows.
mdiarea ................. Widgets: Provides an area in which MDI windows are displayed.
menu .................... Widgets: Provides popup-menus.
menubar ................. Widgets: Provides pull-down menu items.
messagebox .............. Dialogs: Provides message boxes displaying informative messages and simple questions.
mimetype ................ Utilities: Provides MIME type handling.
movie ................... Images: Supports animated images.
multiprocess ............ Utilities: Provides support for detecting the desktop environment, launching external processes and opening URLs.
networkdiskcache ........ Networking: Provides a disk cache for network resources.
networkinterface ........ Networking: Supports enumerating a host's IP addresses and network interfaces.
networkproxy ............ Networking: Provides network proxy support.
paint_debug ............. Painting: Enabled debugging painting with the environment variables QT_FLUSH_UPDATE and QT_FLUSH_PAINT.
pdf ..................... Painting: Provides a PDF backend for QPainter.
picture ................. Painting: Supports recording and replaying QPainter commands.
printdialog ............. Dialogs: Provides a dialog widget for specifying printer configuration.
printer ................. Painting: Provides a printer backend of QPainter.
printpreviewdialog ...... Dialogs: Provides a dialog for previewing and configuring page layouts for printer output.
printpreviewwidget ...... Widgets: Provides a widget for previewing page layouts for printer output.
process ................. File I/O: Supports external process invocation.
processenvironment ...... File I/O: Provides a higher-level abstraction of environment variables.
progressbar ............. Widgets: Supports presentation of operation progress.
progressdialog .......... Dialogs: Provides feedback on the progress of a slow operation.
properties .............. Kernel: Supports scripting Qt-based applications.
proxymodel .............. ItemViews: Supports processing of data passed between another model and a view.
pushbutton .............. Widgets: Provides a command button.
qml-animation ........... QML: Provides support for animations and timers in QML.
qml-debug ............... QML: Provides infrastructure and plugins for debugging and profiling.
qml-delegate-model ...... QML: Provides the DelegateModel QML type.
qml-devtools ............ QML: Provides the QmlDevtools library and various utilities.
qml-list-model .......... QML: Provides the ListModel QML type.
qml-locale .............. QML: Provides support for locales in QML.
qml-network ............. QML: Provides network transparency.
qml-preview ............. QML: Updates QML documents in your application live as you change them on disk
qml-profiler ............ QML: Supports retrieving QML tracing data from an application.
qml-sequence-object ..... QML: Supports mapping sequence types into QML.
qml-worker-script ....... QML: Enables the use of threads in QML.
qml-xml-http-request .... QML: Provides support for sending XML http requests.
qt3d-animation .......... Aspects: Use the 3D Animation Aspect library
qt3d-extras ............. Aspects: Use the 3D Extra library
qt3d-input .............. Aspects: Use the 3D Input Aspect library
qt3d-logic .............. Aspects: Use the 3D Logic Aspect library
qt3d-opengl-renderer .... Qt 3D Renderers: Use the OpenGL renderer
qt3d-render ............. Aspects: Use the 3D Render Aspect library
qt3d-simd-avx2 .......... Use AVX2 SIMD instructions to accelerate matrix operations
qt3d-simd-sse2 .......... Use SSE2 SIMD instructions to accelerate matrix operations
quick-animatedimage ..... Qt Quick: Provides the AnimatedImage item.
quick-canvas ............ Qt Quick: Provides the Canvas item.
quick-designer .......... Qt Quick: Provides support for the Qt Quick Designer in Qt Creator.
quick-flipable .......... Qt Quick: Provides the Flipable item.
quick-gridview .......... Qt Quick: Provides the GridView item.
quick-listview .......... Qt Quick: Provides the ListView item.
quick-particles ......... Qt Quick: Provides a particle system.
quick-path .............. Qt Quick: Provides Path elements.
quick-pathview .......... Qt Quick: Provides the PathView item.
quick-positioners ....... Qt Quick: Provides Positioner items.
quick-repeater .......... Qt Quick: Provides the Repeater item.
quick-shadereffect ...... Qt Quick: Provides Shader effects.
quick-sprite ............ Qt Quick: Provides the Sprite item.
quick-tableview ......... Qt Quick: Provides the TableView item.
quickcontrols2-fusion ... Quick Controls 2: Provides the platform agnostic desktop-oriented Fusion style.
quickcontrols2-imagine .. Quick Controls 2: Provides a style based on configurable image assets.
quickcontrols2-material . Quick Controls 2: Provides a style based on the Material Design guidelines.
quickcontrols2-universal . Quick Controls 2: Provides a style based on the Universal Design guidelines.
quicktemplates2-hover ... Quick Templates 2: Provides support for hover effects.
quicktemplates2-multitouch . Quick Templates 2: Provides support for multi-touch.
radiobutton ............. Widgets: Provides a radio button with a text label.
regularexpression ....... Kernel: Provides an API to Perl-compatible regular expressions.
resizehandler ........... Widgets: Provides an internal resize handler for dock widgets.
rubberband .............. Widgets: Supports using rubberbands to indicate selections and boundaries.
scrollarea .............. Widgets: Supports scrolling views onto widgets.
scrollbar ............... Widgets: Provides scrollbars allowing the user access parts of a document that is larger than the widget used to display it.
scroller ................ Widgets: Enables kinetic scrolling for any scrolling widget or graphics item.
scxml-ecmascriptdatamodel . SCXML: Enables the usage of ecmascript data models in SCXML state machines.
sessionmanager .......... Kernel: Provides an interface to the windowing system's session management.
settings ................ File I/O: Provides persistent application settings.
sha3-fast ............... Utilities: Optimizes SHA3 for speed instead of size.
sharedmemory ............ Kernel: Provides access to a shared memory segment.
shortcut ................ Kernel: Provides keyboard accelerators and shortcuts.
sizegrip ................ Widgets: Provides corner-grips for resizing top-level windows.
slider .................. Widgets: Provides sliders controlling a bounded value.
socks5 .................. Networking: Provides SOCKS5 support in QNetworkProxy.
sortfilterproxymodel .... ItemViews: Supports sorting and filtering of data passed between another model and a view.
spinbox ................. Widgets: Provides spin boxes handling integers and discrete sets of values.
splashscreen ............ Widgets: Supports splash screens that can be shown during application startup.
splitter ................ Widgets: Provides user controlled splitter widgets.
sqlmodel ................ Provides item model classes backed by SQL databases.
stackedwidget ........... Widgets: Provides stacked widgets.
standarditemmodel ....... ItemViews: Provides a generic model for storing custom data.
statemachine ............ Utilities: Provides hierarchical finite state machines.
statusbar ............... Widgets: Supports presentation of status information.
statustip ............... Widgets: Supports status tip functionality and events.
stringlistmodel ......... ItemViews: Provides a model that supplies strings to views.
style-stylesheet ........ Styles: Provides a widget style which is configurable via CSS.
syntaxhighlighter ....... Widgets: Supports custom syntax highlighting.
systemsemaphore ......... Kernel: Provides a general counting system semaphore.
systemtrayicon .......... Utilities: Provides an icon for an application in the system tray.
tabbar .................. Widgets: Provides tab bars, e.g., for use in tabbed dialogs.
tabletevent ............. Kernel: Supports tablet events.
tableview ............... ItemViews: Provides a default model/view implementation of a table view.
tablewidget ............. Widgets: Provides item-based table views.
tabwidget ............... Widgets: Supports stacking tabbed widgets.
temporaryfile ........... File I/O: Provides an I/O device that operates on temporary files.
textbrowser ............. Widgets: Supports HTML document browsing.
textcodec ............... Internationalization: Supports conversions between text encodings.
textdate ................ Data structures: Supports month and day names in dates.
textedit ................ Widgets: Supports rich text editing.
texthtmlparser .......... Kernel: Provides a parser for HTML.
textodfwriter ........... Kernel: Provides an ODF writer.
thread .................. Kernel: Provides QThread and related classes.
timezone ................ Utilities: Provides support for time-zone handling.
toolbar ................. Widgets: Provides movable panels containing a set of controls.
toolbox ................. Widgets: Provides columns of tabbed widget items.
toolbutton .............. Widgets: Provides quick-access buttons to commands and options.
tooltip ................. Widgets: Supports presentation of tooltips.
topleveldomain .......... Utilities: Provides support for extracting the top level domain from URLs.
translation ............. Internationalization: Supports translations using QObject::tr().
treeview ................ ItemViews: Provides a default model/view implementation of a tree view.
treewidget .............. Widgets: Provides views using tree models.
tuiotouch ............... Provides the TuioTouch input plugin.
udpsocket ............... Networking: Provides access to UDP sockets.
undocommand ............. Utilities: Applies (redo or) undo of a single change in a document.
undogroup ............... Utilities: Provides the ability to cluster QUndoCommands.
undostack ............... Utilities: Provides the ability to (redo or) undo a list of changes in a document.
undoview ................ Utilities: Provides a widget which shows the contents of an undo stack.
validator ............... Widgets: Supports validation of input text.
webengine-embedded-build . WebEngine: Enables the embedded build configuration.
webengine-kerberos ...... WebEngine: Enables Kerberos Authentication Support
webengine-native-spellchecker . WebEngine: Use the system's native spellchecking engine.
webengine-pepper-plugins . WebEngine: Enables use of Pepper Flash plugins.
webengine-printing-and-pdf . WebEngine: Provides printing and output to PDF.
webengine-proprietary-codecs . WebEngine: Enables the use of proprietary codecs such as h.264/h.265 and MP3.
webengine-spellchecker .. WebEngine: Provides a spellchecker.
webengine-v8-snapshot ... Enables the v8 snapshot, for fast v8 context creation
webengine-webchannel .... WebEngine: Provides QtWebChannel integration.
webengine-webrtc ........ WebEngine: Provides WebRTC support.
whatsthis ............... Widget Support: Supports displaying "What's this" help.
wheelevent .............. Kernel: Supports wheel events.
widgettextcontrol ....... Widgets: Provides text control functionality to other widgets.
wizard .................. Dialogs: Provides a framework for multi-page click-through dialogs.
xml-schema .............. QtXmlPatterns: Provides XML schema validation.
xmlstream ............... Kernel: Provides a simple streaming API for XML.
xmlstreamreader ......... Kernel: Provides a well-formed XML parser with a simple streaming API.
xmlstreamwriter ......... Kernel: Provides a XML writer with a simple streaming API.

E:\Develop\qt-everywhere-src-5.12.3>

 

+ E:\Develop\qt-everywhere-src-5.12.3\qtbase\configure.bat -top-level -static -prefix "D:\qt5_msvc_x86_static" -confirm-license -opensource  -debug-and-release -platform win32-msvc  -nomake examples -nomake tests  -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp

Notice: re-mapping requested qmake spec to unified 'win32-msvc'.

Bootstrapping qmake ...

Microsoft (R) 程序维护实用工具 14.13.26131.1 版
版权所有 (C) Microsoft Corporation。  保留所有权利。

Info: creating stash file E:\Develop\qt-everywhere-src-5.12.3\.qmake.stash

This is the Qt Open Source Edition.

You have already accepted the terms of the Open Source license.

Running configuration tests...
Checking for valid makespec... yes
Checking for target architecture... i386
Checking for SSE2 instructions... yes
Checking for AES new instructions... yes
Checking for alloca() in alloca.h... no
Checking for alloca() in malloc.h... yes
Checking for SSE3 instructions... yes
Checking for SSSE3 instructions... yes
Checking for SSE4.1 instructions... yes
Checking for SSE4.2 instructions... yes
Checking for AVX instructions... yes
Checking for AVX2 instructions... yes
Checking for AVX512 F instructions... yes
Checking for AVX512 BW instructions... yes
Checking for AVX512 CD instructions... yes
Checking for AVX512 DQ instructions... yes
Checking for AVX512 ER instructions... yes
Checking for AVX512 IFMA instructions... no
Checking for AVX512 PF instructions... yes
Checking for AVX512 VBMI instructions... yes
Checking for AVX512 VL instructions... yes
Checking for C++14 support... no
Checking for C99 support... no
Checking for D-Bus >= 1.2... no
Checking for F16C instructions... yes
Checking for support for split sections and linker garbage collection... no
Checking for D-Bus >= 1.2 (host)... yes
Checking for IncrediBuild... yes
Checking for udev... no
Checking for POSIX fallocate()... no
Checking for precompiled header support... yes
Checking for RDRAND instruction... yes
Checking for SHA new instructions... yes
Checking for STL compatibility... yes
Checking for Intrinsics without -mXXX argument... yes
Checking for C++11 <future>... yes
Checking for eventfd... no
Checking for inotify... no
Checking for slog2... no
Checking for 64 bit atomics... yes
Checking for DoubleConversion... no
Checking for PCRE2... no
Checking for O_CLOEXEC... no
Checking for C++11 <random>... yes
Checking for working std::atomic for function pointers... yes
Checking for OpenSSL Headers... no
Checking for getifaddrs()... no
Checking for IPv6 ifname... no
Checking for xkbcommon >= 0.5.0... no
Checking for DirectX GI... yes
Checking for Direct3D 11... yes
Checking for Direct2D 1... yes
Checking for Direct2D 1.1... yes
Checking for DirectX GI 1.2... yes
Checking for Direct3D 11.1... yes
Checking for Direct3D 9... yes
Checking for DirectWrite... yes
Checking for DirectWrite 1... yes
Checking for DirectWrite 2... yes
Checking for KMS... no
Checking for DirectX GUID... yes
Checking for EGL... no
Checking for evdev... no
Checking for GBM... no
Checking for LinuxFB... no
Checking for mtdev... no
Checking for OpenVG... no
Checking for default QPA platform... windows
Checking for tslib... no
Checking for Vulkan... no
Checking for XLib... no
Checking for uxtheme.h... yes
Checking for CUPS... no
Checking for DB2 (IBM)... no
Checking for InterBase... no
Checking for MySQL... no
Checking for OCI (Oracle)... no
Checking for ODBC... yes
Checking for PostgreSQL... no
Checking for SQLite (version 2)... no
Checking for TDS (Sybase)... no
Checking for C++14 make_unique()... yes
Checking for Direct3D 12... yes
Checking for SDL2... no
Checking for Assimp... no
Checking for Autodesk FBX... no
Checking for Wayland EGL library... no
Checking for BlueZ... no
Checking for WinRT Bluetooth API... yes
Checking for sensorfw... no
Checking for Gypsy... no
Checking for WinRT Geolocation API... yes
Checking for DirectShow... yes
Checking for evr.h... yes
Checking for GStreamer 1.0... no
Checking for GStreamer 0.10... no
Checking for OpenAL... no
Checking for libresourceqt5... no
Checking for Windows Audio Services... yes
Checking for WMF... yes
Checking for wmsdk.h... yes
Checking for WShellItem... yes
Checking for libclang... 系统找不到指定的路径。
yes
Checking for bison... yes
Checking for embedded... no
Checking for flex... yes
Checking for gperf... yes
Checking for python2...
Checking for d-bus... no
Checking for fontconfig... no
Checking for libdrm... no
Checking for system ninja... no
Checking for xcomposite... no
Checking for xcursor... no
Checking for xi... no
Checking for xtst... no
Checking for 64bit compiler... no
Checking for winversion... yes
Done running configuration tests.

Configure summary:

Build type: win32-msvc (i386, CPU features: sse sse2)
Compiler: msvc 191326131
Configuration: sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512pf avx512vbmi avx512vl compile_examples f16c largefile msvc_mp precompile_header rdrnd shani x86SimdAlways debug_and_release release debug build_all c++11 concurrent dbus no-pkg-config release_tools static stl
Build options:
  Mode ................................... debug and release; default link: debug; optimized tools
  Optimize release build for size ........ no
  Building shared libraries .............. no
  Using C standard ....................... C89
  Using C++ standard ..................... C++11
  Using gold linker ...................... no
  Using precompiled headers .............. yes
  Using LTCG ............................. no
  Target compiler supports:
    SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
    AVX .................................. AVX AVX2
    AVX512 ............................... F ER CD PF DQ BW VL VBMI
    Other x86 ............................ AES F16C RDRAND SHA
  Build parts ............................ libs tools
  App store compliance ................... no
Qt modules and options:
  Qt Concurrent .......................... yes
  Qt D-Bus ............................... yes
  Qt D-Bus directly linked to libdbus .... no
  Qt Gui ................................. yes
  Qt Network ............................. yes
  Qt Sql ................................. yes
  Qt Testlib ............................. yes
  Qt Widgets ............................. yes
  Qt Xml ................................. yes
Support enabled for:
  Using pkg-config ....................... no
  udev ................................... no
  Using system zlib ...................... no
Qt Core:
  DoubleConversion ....................... yes
    Using system DoubleConversion ........ no
  GLib ................................... no
  iconv .................................. no
  ICU .................................... no
  Tracing backend ........................ <none>
  Logging backends:
    journald ............................. no
    syslog ............................... no
    slog2 ................................ no
  Using system PCRE2 ..................... no
Qt Network:
  getifaddrs() ........................... no
  IPv6 ifname ............................ no
  libproxy ............................... no
  OpenSSL ................................ no
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ no
  DTLS ................................... no
  SCTP ................................... no
  Use system proxies ..................... yes
Qt Gui:
  Accessibility .......................... yes
  FreeType ............................... yes
    Using system FreeType ................ no
  HarfBuzz ............................... yes
    Using system HarfBuzz ................ no
  Fontconfig ............................. no
  Image formats:
    GIF .................................. yes
    ICO .................................. yes
    JPEG ................................. yes
      Using system libjpeg ............... no
    PNG .................................. yes
      Using system libpng ................ no
  EGL .................................... no
  OpenVG ................................. no
  OpenGL:
    ANGLE ................................ no
    Desktop OpenGL ....................... yes
    Dynamic OpenGL ....................... no
    OpenGL ES 2.0 ........................ no
    OpenGL ES 3.0 ........................ no
    OpenGL ES 3.1 ........................ no
    OpenGL ES 3.2 ........................ no
  Vulkan ................................. no
  Session Management ..................... yes
Features used by QPA backends:
  evdev .................................. no
  libinput ............................... no
  INTEGRITY HID .......................... no
  mtdev .................................. no
  tslib .................................. no
  xkbcommon .............................. no
  X11 specific:
    XLib ................................. no
    XCB Xlib ............................. no
    EGL on X11 ........................... no
QPA backends:
  DirectFB ............................... no
  EGLFS .................................. no
  LinuxFB ................................ no
  VNC .................................... no
  Mir client ............................. no
  Windows:
    Direct 2D ............................ yes
    DirectWrite .......................... yes
    DirectWrite 2 ........................ yes
Qt Sql:
  SQL item models ........................ yes
Qt Widgets:
  GTK+ ................................... no
  Styles ................................. Fusion Windows WindowsVista
Qt PrintSupport:
  CUPS ................................... no
Qt Sql Drivers:
  DB2 (IBM) .............................. no
  InterBase .............................. no
  MySql .................................. no
  OCI (Oracle) ........................... no
  ODBC ................................... yes
  PostgreSQL ............................. no
  SQLite2 ................................ no
  SQLite ................................. yes
    Using system provided SQLite ......... no
  TDS (Sybase) ........................... no
Qt Testlib:
  Tester for item models ................. yes
Qt SerialBus:
  Socket CAN ............................. no
  Socket CAN FD .......................... no
Qt QML:
  QML network support .................... yes
  QML debugging and profiling support .... yes
  QML sequence object .................... yes
  QML list model ......................... yes
  QML XML http request ................... yes
  QML Locale ............................. yes
  QML delegate model ..................... yes
Qt Quick:
  Direct3D 12 ............................ yes
  AnimatedImage item ..................... yes
  Canvas item ............................ yes
  Support for Qt Quick Designer .......... yes
  Flipable item .......................... yes
  GridView item .......................... yes
  ListView item .......................... yes
  TableView item ......................... yes
  Path support ........................... yes
  PathView item .......................... yes
  Positioner items ....................... yes
  Repeater item .......................... yes
  ShaderEffect item ...................... yes
  Sprite item ............................ yes
Qt Scxml:
  ECMAScript data model for QtScxml ...... yes
Qt Gamepad:
  SDL2 ................................... no
Qt 3D:
  Assimp ................................. yes
  System Assimp .......................... no
  Output Qt3D Job traces ................. no
  Output Qt3D GL traces .................. no
  Use SSE2 instructions .................. no
  Use AVX2 instructions .................. no
  Aspects:
    Render aspect ........................ yes
    Input aspect ......................... yes
    Logic aspect ......................... yes
    Animation aspect ..................... yes
    Extras aspect ........................ yes
Qt 3D Renderers:
  OpenGL Renderer ........................ yes
Qt 3D GeometryLoaders:
  Autodesk FBX ........................... no
Qt Wayland Client ........................ no
Qt Wayland Compositor .................... no
Qt Bluetooth:
  BlueZ .................................. no
  BlueZ Low Energy ....................... no
  Linux Crypto API ....................... no
  WinRT Bluetooth API (desktop & UWP) .... yes
Qt Sensors:
  sensorfw ............................... no
Qt Quick Controls 2:
  Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
  Hover support .......................... yes
  Multi-touch support .................... yes
Qt Positioning:
  Gypsy GPS Daemon ....................... no
  WinRT Geolocation API .................. yes
Qt Location:
  Qt.labs.location experimental QML plugin . yes
  Geoservice plugins:
    OpenStreetMap ........................ yes
    HERE ................................. yes
    Esri ................................. yes
    Mapbox ............................... yes
    MapboxGL ............................. no
    Itemsoverlay ......................... yes
QtXmlPatterns:
  XML schema support ..................... yes
Qt Multimedia:
  ALSA ................................... no
  GStreamer 1.0 .......................... no
  GStreamer 0.10 ......................... no
  Video for Linux ........................ no
  OpenAL ................................. no
  PulseAudio ............................. no
  Resource Policy (libresourceqt5) ....... no
  Windows Audio Services ................. yes
  DirectShow ............................. yes
  Windows Media Foundation ............... yes
  Media player backend ................... DirectShow
Qt Tools:
  QDoc ................................... yes
Qt WebEngine:
  Embedded build ......................... no
  Pepper Plugins ......................... yes
  Printing and PDF ....................... yes
  Proprietary Codecs ..................... no
  Spellchecker ........................... yes
  Native Spellchecker .................... no
  WebRTC ................................. yes
  Use System Ninja ....................... no
  Geolocation ............................ yes
  WebChannel support ..................... yes
  Use v8 snapshot ........................ yes
  Kerberos Authentication ................ yes

Note: Using static linking will disable the use of dynamically
loaded plugins. Make sure to import all needed static plugins,
or compile needed modules into the library.

Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.

WARNING: Python version 2 (2.7.5 or later) is required to build QtWebEngine.

WARNING: 64-bit cross-building or native toolchain is required to build QtWebEngine.

Qt is now configured for building. Just run 'nmake'.
Once everything is built, you must run 'nmake install'.
Qt will be installed into 'D:\qt5_msvc_x86_static'.

Prior to reconfiguration, make sure you remove any leftovers from
the previous build.


E:\Develop\qt-everywhere-src-5.12.3>

 

http://doc.qt.io/QtEnterpriseEmbedded/qt-configuration-tool.html

qtbase\src\corelib\global\qfeatures.txt

 

Qt在pro中设置运行时库MT、MTd、MD、MDd,重点关注QMAKE_CFLAGS

多线程调试Dll (/MDd) 对应的是MD_DynamicDebug
多线程Dll (/MD) 对应的是MD_DynamicRelease
多线程(/MT) 对应的是MD_StaticRelease
多线程(/MTd)对应的是MD_StaticDebug

win32:CONFIG(debug, debug|release): {
    LIBS += -L$$QMAKE_SKIA_DIR/out/Debug-x64
    INCLUDEPATH += $$QMAKE_SKIA_DIR/out/Debug-x64
    DEPENDPATH += $$QMAKE_SKIA_DIR/out/Debug-x64
    QMAKE_CFLAGS_DEBUG += -MTd
    QMAKE_CXXFLAGS_DEBUG += -MTd
}
else:win32:CONFIG(release, debug|release): {
    LIBS += -L$$QMAKE_SKIA_DIR/out/Release-x64
    INCLUDEPATH += $$QMAKE_SKIA_DIR/out/Release-x64
    DEPENDPATH += $$QMAKE_SKIA_DIR/out/Release-x64
    #win32:QMAKE_CXXFLAGS += /MD
    QMAKE_CFLAGS_RELEASE += -MT
    QMAKE_CXXFLAGS_RELEASE += -MT
}
 
#定义编译选项
#QT_DEPRECATED_WARNINGS表示当Qt的某些功能被标记为过时的,那么编译器会发出警告
DEFINES += QT_DEPRECATED_WARNINGS
 
#指定编译器选项和项目配置
CONFIG  += c++11
CONFIG  += warn_on           #告诉qmake要把编译器设置为输出警告信息的
CONFIG  += precompile_header #可以在项目中使用预编译头文件的支持
 
#预编译头文件路径
PRECOMPILED_HEADER = $$PWD/stable.h
 
#disable C4819 warning
win32:QMAKE_CXXFLAGS_WARN_ON += -wd4819
win32:QMAKE_CXXFLAGS += /FS
#win32:QMAKE_CXXFLAGS += /utf-8
#避免VC编译器关于fopen等应使用fopen_s的安全警告

 

修改源码里的qtbase\mkspecs\common\msvc-desktop.conf文件

QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
QMAKE_CFLAGS_DEBUG      = -Zi -MTd

 

configure.bat -static -release -platform win32-msvc -no-opengl -prefix "D:\Qt\Qt5.9.4\5.9.4\Qt5.9.4_MSVC2017_x86_Static" -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtandroidextras -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtcharts -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtspeech -skip qtsvg -skip qttools -skip qttranslations -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -no-feature-texthtmlparser -no-feature-textodfwriter -no-feature-concurrent -no-feature-effects -no-feature-sharedmemory -no-feature-systemsemaphore -no-feature-im -no-feature-dom -no-feature-filesystemwatcher -no-feature-graphicsview -no-feature-graphicseffect -no-feature-sizegrip -no-feature-printpreviewwidget -no-feature-keysequenceedit -no-feature-colordialog -no-feature-fontdialog -no-feature-printpreviewdialog -no-feature-progressdialog -no-feature-errormessage -no-feature-wizard -no-feature-datawidgetmapper -no-feature-cups -no-feature-paint_debug -no-feature-codecs -no-feature-big_codecs -no-feature-iconv -no-feature-networkproxy -no-feature-socks5 -no-feature-networkdiskcache -no-feature-bearermanagement -no-feature-mimetype -no-feature-undocommand -no-feature-undostack -no-feature-undogroup -no-feature-undoview -no-feature-statemachine -no-feature-gestures -no-feature-dbus -no-feature-sessionmanager -no-feature-topleveldomain -no-feature-sha3-fast -no-feature-imageformat_ppm -no-feature-imageformat_xbm -no-feature-highdpiscaling -no-feature-freetype -no-feature-appstore-compliant -no-feature-process -no-feature-lcdnumber 

 

==================

https://doc.qt.io/qt-6/windows-building.html

cd D:\source\repos\qt6_build
..\qt6_src\configure -prefix D:\qt6 -debug-and-release -opensource

cmake --build . --parallel
cmake --install . --prefix D:\qt6

ninja -j8
ninja install

==================

https://download.qt.io/development_releases/prebuilt/libclang/
https://code.qt.io/clang/llvm-project.git

git clone -b release_130-based --recursive https://code.qt.io/cgit/clang/llvm-project.git
mv llvm-project llvm_project_src
mkdir llvm_project_build
cd llvm_project_build

cmake ^
-G Ninja ^
-D CMAKE_BUILD_TYPE=Release ^
-D LLVM_ENABLE_RTTI=ON ^
-D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ^
-D CMAKE_INSTALL_PREFIX="D:\llvm" ^
..\llvm_project_src\llvm
cmake --build . --target install

 

cd D:\source\repos\qtcreator_build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja ..\qtcreator_src
cmake --install . --prefix D:\qtcreator

 

==================

https://github.com/qt-creator/qt-creator

https://mirrors.ustc.edu.cn/qtproject/official_releases

Qt Creator

Qt Creator is a cross-platform, integrated development environment (IDE) for application developers to create applications for multiple desktop, embedded, and mobile device platforms.

The Qt Creator Manual is available at:

https://doc.qt.io/qtcreator/index.html

For an overview of the Qt Creator IDE, see:

https://doc.qt.io/qtcreator/creator-overview.html

Supported Platforms

The standalone binary packages support the following platforms:

  • Windows 10 (64-bit) or later
  • (K)Ubuntu Linux 20.04 (64-bit) or later
  • macOS 10.14 or later

Contributing

For instructions on how to set up the Qt Creator repository to contribute patches back to Qt Creator, please check:

https://wiki.qt.io/Setting_up_Gerrit

See the following page for information about our coding standard:

https://doc.qt.io/qtcreator-extending/coding-style.html

Compiling Qt Creator

Prerequisites:

  • Qt 5.15.2 or later
  • Qt WebEngine module for QtWebEngine based help viewer
  • On Windows:
    • MinGW with GCC 7 or Visual Studio 2017 or later
    • Python 3.5 or later (optional, needed for the python enabled debug helper)
    • Debugging Tools for Windows (optional, for MSVC debugging support with CDB)
  • On Mac OS X: latest Xcode
  • On Linux: GCC 7 or later
  • LLVM/Clang 10 or later (optional, LLVM/Clang 13 is recommended. See instructions on how to get LLVM. The ClangFormat, ClangPchManager and ClangRefactoring use the LLVM C++ API. Since the LLVM C++ API provides no compatibility guarantee, if later versions don't compile we don't support that version.)
  • CMake
  • Ninja (recommended)

The installed toolchains have to match the one Qt was compiled with.

Linux and macOS

These instructions assume that Ninja is installed and in the PATH, Qt Creator sources are located at /path/to/qtcreator_sources, Qt is installed in /path/to/Qt, and LLVM is installed in /path/to/llvm.

Note that if you install Qt via the online installer, the path to Qt must include the version number and compiler ABI. The path to the online installer content is not enough.

See instructions on how to get LLVM.

mkdir qtcreator_build
cd qtcreator_build

cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja "-DCMAKE_PREFIX_PATH=/path/to/Qt;/path/to/llvm" /path/to/qtcreator_sources
cmake --build .

Windows

These instructions assume that Ninja is installed and in the PATH, Qt Creator sources are located at \path\to\qtcreator_sources, Qt is installed in \path\to\Qt, and LLVM is installed in \path\to\llvm.

Note that if you install Qt via the online installer, the path to Qt must include the version number and compiler ABI. The path to the online installer content is not enough.

See instructions on how to get LLVM.

Decide which compiler to use: MinGW or Microsoft Visual Studio.

MinGW is available via the Qt online installer, for other options see https://wiki.qt.io/MinGW. Run the commands below in a shell prompt that has <path_to_mingw>\bin in the PATH.

For Microsoft Visual C++ you can use the "Build Tools for Visual Studio". Also install the "Debugging Tools for Windows" from the Windows SDK installer. We strongly recommend using the 64-bit version and 64-bit compilers on 64-bit systems. Open the x64 Native Tools Command Prompt for VS <version> from the start menu items that were created for Visual Studio, and run the commands below in it.

md qtcreator_build
cd qtcreator_build

cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja "-DCMAKE_PREFIX_PATH=/path/to/Qt;/path/to/llvm" \path\to\qtcreator_sources
cmake --build .

Qt Creator can be registered as a post-mortem debugger. This can be done in the options page or by running the tool qtcdebugger with administrative privileges passing the command line options -register/unregister, respectively. Alternatively, the required registry entries

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug

can be modified using the registry editor regedt32 to contain

qtcreator_build\bin\qtcdebugger %ld %ld

When using a self-built version of Qt Creator as post-mortem debugger, it needs to be able to find all dependent Qt-libraries and plugins when being launched by the system. The easiest way to do this is to create a self-contained Qt Creator by installing it and installing its dependencies. See "Options" below for details.

Note that unlike on Unix, you cannot overwrite executables that are running. Thus, if you want to work on Qt Creator using Qt Creator, you need a separate installation of it. We recommend using a separate, release-built version of Qt Creator to work on a debug-built version of Qt Creator.

Options

If you do not have Ninja installed and in the PATH, remove -G Ninja from the first cmake call. If you want to build in release mode, change the build type to -DCMAKE_BUILD_TYPE=Release. You can also build with release optimizations but debug information with -DCMAKE_BUILD_TYPE=RelWithDebInfo.

You can find more options in the generated CMakeCache.txt file. For instance, building of Qbs together with Qt Creator can be enabled with -DBUILD_QBS=ON.

Installation is not needed. It is however possible, using

cmake --install . --prefix /path/to/qtcreator_install

To create a self-contained Qt Creator installation, including all dependencies like Qt and LLVM, additionally run

cmake --install . --prefix /path/to/qtcreator_install --component Dependencies

Getting LLVM/Clang for the Clang Code Model

The Clang Code Model depends on the LLVM/Clang libraries. The currently recommended LLVM/Clang version is 13.0.

Prebuilt LLVM/Clang packages

Prebuilt packages of LLVM/Clang can be downloaded from https://download.qt.io/development_releases/prebuilt/libclang/

This should be your preferred option because you will use the version that is shipped together with Qt Creator (with backported/additional patches). In addition, MinGW packages for Windows are faster due to profile-guided optimization. If the prebuilt packages do not match your configuration, you need to build LLVM/Clang manually.

If you use the MSVC compiler to build Qt Creator the suggested way is: 1. Download both MSVC and MinGW packages of libclang. 2. Use the MSVC version of libclang during the Qt Creator build. 3. Prepend PATH variable used for the run time with the location of MinGW version of libclang.dll. 4. Launch Qt Creator.

Building LLVM/Clang manually

You need to install CMake in order to build LLVM/Clang.

Build LLVM/Clang by roughly following the instructions at http://llvm.org/docs/GettingStarted.html#git-mirror:

  1. Clone LLVM/Clang and checkout a suitable branch

    git clone -b release_130-based --recursive https://code.qt.io/clang/llvm-project.git
    
  2. Build and install LLVM/Clang

    mkdir build
    cd build
    

    For Linux/macOS:

    cmake \
      -D CMAKE_BUILD_TYPE=Release \
      -D LLVM_ENABLE_RTTI=ON \
      -D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
      -D CMAKE_INSTALL_PREFIX=<installation location> \
      ../llvm-project/llvm
    cmake --build . --target install
    

    For Windows:

    cmake ^
      -G Ninja ^
      -D CMAKE_BUILD_TYPE=Release ^
      -D LLVM_ENABLE_RTTI=ON ^
      -D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ^
      -D CMAKE_INSTALL_PREFIX=<installation location> ^
      ..\llvm-project\llvm
    cmake --build . --target install
    

Clang-Format

The ClangFormat plugin depends on the additional patch

https://code.qt.io/cgit/clang/llvm-project.git/commit/?h=release_130-based&id=42879d1f355fde391ef46b96a659afeb4ad7814a

While the plugin builds without it, it might not be fully functional.

Note that the plugin is disabled by default.

 

================= End

 

 
posted @ 2020-03-16 13:33  lsgxeva  阅读(3196)  评论(0编辑  收藏  举报