在Windows平台使用Visual C++ 2022编译QT6源码
在 Windows 平台使用 Visual C++ 2022 编译 QT6 源码
0. 引言
如果您想要自己编译 QT6 的开发库,可以参考我这篇短文。什么时候需要自己编译 QT6 开发库呢?或许您想要调研并修补 QT 的 Bug,或许您工作在特殊行业(例如军工行业)需要在不连接互联网的情况下安装 QT 开发库。那我们闲言少叙,直接开始吧。
1. 准备工作
首先要获得我们的QT6开发库的源码。现在是2022年11月,QT6最新的稳定版是6.4.0,所以我刚刚从QT的官方网站下载了一份 QT 6.4
.0 的源码,是一份压缩文件:qt-everywhere-src-6.4.0.zip
。下载地址:https://download.qt.io/archive/qt/6.4/6.4.0/single/
我们需要准备的工具软件如下表所示:
序号 | 软件名称 | 软件版本建议 | 实际采用的版本 |
---|---|---|---|
1 | Visual Studio | 版本不低于VS2015 | Visual Studio 2022 (17.4.0) |
2 | Python | Python 3.x-64位 | Python 3.11.0-64位 |
3 | Perl | Perl5-64位 | Perl5 v5.32.1 for MSWin32-x64-multi-thread |
4 | cmake | 版本不低于3.16 | cmake 3.24.3 |
5 | ninja | 版本不低于1.10.2 | ninja 1.11.1 这是我自己编译的 |
然后将QT 6.4
.0 的源码qt-everywhere-src-6.4.0.zip
解压缩。接下来的一切操作,全都是在解压后的源码目录中进行。
我很刻意地把源码解压目录重命名为:qt-everywhere-src-6.4.0_x64
。为什么呢?因为接下来的操作我是以编译为64位版本为例的。假如您还需要编译一份32位版本,那么您可以将源码目录重命名为qt-everywhere-src-6.4.0_x86
,就不跟这个64位的库混淆了。
2. 配置
以我的开发环境为例,现在我的 QT6 源码目录的路径是D:\Dev\qt-everywhere-src-6.4.0_x64
,我想要把编译过程中生产的文件保存在D:\QT6_x64
目录中。
在开始菜单中单击 Visual Studio 2022 的x64 Native Tools Command Prompt for VS 2022
控制台窗口。
注意:本文是以编译64位的QT6为例进行操作的,如果您需要编译32位版本,请单击 Visual Studio 2022 的x86ve Tools Command Prompt for VS 2022
控制台窗口。
在此控制台窗口中执行以下命令:
cd /d D:\Dev\qt-everywhere-src-6.4.0_x64
cd /d D:\Dev\qt-everywhere-src-6.4.0_x64
configure -prefix D:\QT6_x64\ -debug-and-release -opensource
如下图所示:
执行完了以后输出的运行日志如下图所示:
仔细阅读上述日志,尤其关注配置失败的条目,看看这些没有配置成功的条目是否是自己所关心(需要)的模块。假如您希望安装的模块没有配置成功,那么需要通过google、stackoverflow等互联网资源进行搜索调查,看看如何解决。有些条目可能需要依赖一些第三方库,那么您需要把第三方库的源码文件拷贝到相应目录中,再重新执行一下这个配置过程。
我的配置结果日志文件如下所示:
点击查看代码
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.4.0
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
D:\App\Dev\Microsoft\Visual_Studio\2022\Enterprise>cd /d D:\Dev\qt-everywhere-src-6.4.0_x64
D:\Dev\qt-everywhere-src-6.4.0_x64>configure -prefix D:\QT6_x64\ -debug-and-release -opensource
+ cd qtbase
+ D:\Dev\qt-everywhere-src-6.4.0_x64\qtbase\configure.bat -top-level -prefix D:\QT6_x64\ -debug-and-release -opensource
-- Windows 10 SDK version: 10.0.19041.0
'D:/App/Dev/CMake/bin/cmake.exe' '-DCMAKE_INSTALL_PREFIX=D:/QT6_x64;-debug-and-release' '-G' 'Ninja' 'D:/Dev/qt-everywhere-src-6.4.0_x64'
-- The CXX compiler identification is MSVC 19.34.31933.0
-- The C compiler identification is MSVC 19.34.31933.0
-- The ASM compiler identification is MSVC
-- Found assembler: D:/App/Dev/Microsoft/Visual_Studio/2022/Enterprise/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/App/Dev/Microsoft/Visual_Studio/2022/Enterprise/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/App/Dev/Microsoft/Visual_Studio/2022/Enterprise/VC/Tools/MSVC/14.34.31933/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
Checking dependencies of submodule 'qtbase'
Checking dependencies of submodule 'qtimageformats'
Checking dependencies of submodule 'qtlanguageserver'
Checking dependencies of submodule 'qtshadertools'
Checking dependencies of submodule 'qtsvg'
Checking dependencies of submodule 'qtdeclarative'
Checking dependencies of submodule 'qtmultimedia'
Checking dependencies of submodule 'qt3d'
Checking dependencies of submodule 'qt5compat'
Checking dependencies of submodule 'qtactiveqt'
Checking dependencies of submodule 'qtcharts'
Checking dependencies of submodule 'qtcoap'
Checking dependencies of submodule 'qtconnectivity'
Checking dependencies of submodule 'qtdatavis3d'
Checking dependencies of submodule 'qttools'
Checking dependencies of submodule 'qtdoc'
Checking dependencies of submodule 'qtwebsockets'
Checking dependencies of submodule 'qthttpserver'
Checking dependencies of submodule 'qtlottie'
Checking dependencies of submodule 'qtmqtt'
Checking dependencies of submodule 'qtnetworkauth'
Checking dependencies of submodule 'qtopcua'
Checking dependencies of submodule 'qtserialport'
Checking dependencies of submodule 'qtpositioning'
Checking dependencies of submodule 'qtquicktimeline'
Checking dependencies of submodule 'qtquick3d'
Checking dependencies of submodule 'qtquick3dphysics'
Checking dependencies of submodule 'qtremoteobjects'
Checking dependencies of submodule 'qtscxml'
Checking dependencies of submodule 'qtsensors'
Checking dependencies of submodule 'qtserialbus'
Checking dependencies of submodule 'qtspeech'
Checking dependencies of submodule 'qttranslations'
Checking dependencies of submodule 'qtvirtualkeyboard'
Checking dependencies of submodule 'qtwayland'
Checking dependencies of submodule 'qtwebchannel'
Checking dependencies of submodule 'qtwebengine'
Checking dependencies of submodule 'qtwebview'
Configuring submodule 'qtbase'
-- Could NOT find md4c (missing: md4c_DIR)
QtCore: WARNING: D:/Dev/qt-everywhere-src-6.4.0_x64/qtbase/src/corelib/tools/qatomicscopedvaluerollback_p.h does not have the "We mean it." warning
-- Could NOT find md4c (missing: md4c_DIR)
Configuring submodule 'qtimageformats'
Configuring submodule 'qtlanguageserver'
Configuring submodule 'qtshadertools'
Configuring submodule 'qtsvg'
Configuring submodule 'qtdeclarative'
QtQuickDialogs2QuickImpl: WARNING: D:/Dev/qt-everywhere-src-6.4.0_x64/qtdeclarative/src/quickdialogs2/quickdialogs2quickimpl/qquickcolordialogutils_p.h does not have the "We mean it." warning
shaders/SaturationLightness.frag -> shaders/SaturationLightness.frag.qsb exposed as :/qt-project.org/imports/QtQuick/Dialogs/quickimpl/shaders/SaturationLightness.frag.qsb
QtQmlDom: WARNING: D:/Dev/qt-everywhere-src-6.4.0_x64/qtdeclarative/src/qmldom/standalone/private/qtqmlcompilerexports_p.h does not have the "We mean it." warning
Configuring submodule 'qtmultimedia'
Configuring submodule 'qt3d'
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/render/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/scene3d/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/extras/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/scene2d/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/input/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/logic/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt3d/src/quick3d/imports/animation/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
Configuring submodule 'qt5compat'
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qt5compat/src/imports/graphicaleffects5/CMakeLists.txt:33 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
Configuring submodule 'qtactiveqt'
Configuring submodule 'qtcharts'
Configuring submodule 'qtcoap'
Configuring submodule 'qtconnectivity'
Configuring submodule 'qtdatavis3d'
Configuring submodule 'qttools'
-- Could NOT find Clang (missing: Clang_DIR)
-- Could NOT find Clang (missing: Clang_DIR)
QtDesigner: WARNING: D:/Dev/qt-everywhere-src-6.4.0_x64/qttools/src/designer/src/lib/uilib/formbuilder.h includes abstractformbuilder.h when it should include QtDesigner/abstractformbuilder.h
Configuring submodule 'qtdoc'
Configuring submodule 'qtwebsockets'
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qtwebsockets/src/imports/qmlwebsockets/CMakeLists.txt:1 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
Configuring submodule 'qthttpserver'
Configuring submodule 'qtlottie'
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qtlottie/src/imports/CMakeLists.txt:1 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
Configuring submodule 'qtmqtt'
Configuring submodule 'qtnetworkauth'
Configuring submodule 'qtopcua'
Configuring submodule 'qtserialport'
Configuring submodule 'qtpositioning'
Configuring submodule 'qtquicktimeline'
Configuring submodule 'qtquick3d'
assets/shaders/frostedGlass.frag -> assets/shaders/frostedGlass.frag.qsb exposed as ://assets/shaders/frostedGlass.frag.qsb
Configuring submodule 'qtquick3dphysics'
Configuring submodule 'qtremoteobjects'
Configuring submodule 'qtscxml'
Configuring submodule 'qtsensors'
Configuring submodule 'qtserialbus'
Configuring submodule 'qtspeech'
Configuring submodule 'qttranslations'
CMake Warning at qttranslations/translations/CMakeLists.txt:37 (message):
Directory
'D:/Dev/qt-everywhere-src-6.4.0_x64/qttranslations/translations/../../qtlocation/src'
for qtlocation does not exist. Skipping...
Call Stack (most recent call first):
qttranslations/translations/CMakeLists.txt:105 (add_ts_targets)
CMake Warning at qttranslations/translations/CMakeLists.txt:44 (message):
No source files located for qtlocation, skipping target creation
Call Stack (most recent call first):
qttranslations/translations/CMakeLists.txt:105 (add_ts_targets)
Configuring submodule 'qtvirtualkeyboard'
QtVirtualKeyboard: WARNING: D:/Dev/qt-everywhere-src-6.4.0_x64/qtvirtualkeyboard/src/virtualkeyboard/qvirtualkeyboard_namespace.h does not include QT_BEGIN_NAMESPACE
Configuring submodule 'qtwayland'
Skipping the build as the condition "LINUX OR MACOS OR QNX" is not met.
Configuring submodule 'qtwebchannel'
CMake Warning (dev) at qtbase/lib/cmake/Qt6Qml/Qt6QmlBuildInternals.cmake:410 (message):
INSTALL_SOURCE_QMLTYPES option is deprecated and should not be used.
Please port your module to use declarative type registration.
Call Stack (most recent call first):
qtwebchannel/src/imports/webchannel/CMakeLists.txt:7 (qt_internal_add_qml_module)
This warning is for project developers. Use -Wno-dev to suppress it.
Configuring submodule 'qtwebengine'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'html5lib'
-- Windows 10 SDK version: 10.0.19041.0
-- Support check for QtWebEngine failed: node.js version 12 or later is required.
-- Support check for QtPdf failed: node.js version 12 or later is required.
Configuring submodule 'qtwebview'
-- Could NOT find Qt6WebEngineCore (missing: Qt6WebEngineCore_DIR)
CMake Warning at qtbase/lib/cmake/Qt6/Qt6Config.cmake:270 (message):
Failed to find optional Qt component "WebEngineCore".
Expected Config file at
"D:/Dev/qt-everywhere-src-6.4.0_x64/qtbase/lib/cmake/Qt6WebEngineCore/Qt6WebEngineCoreConfig.cmake"
does NOT exist
Call Stack (most recent call first):
qtwebview/CMakeLists.txt:12 (find_package)
-- Could NOT find Qt6WebEngineQuick (missing: Qt6WebEngineQuick_DIR)
CMake Warning at qtbase/lib/cmake/Qt6/Qt6Config.cmake:270 (message):
Failed to find optional Qt component "WebEngineQuick".
Expected Config file at
"D:/Dev/qt-everywhere-src-6.4.0_x64/qtbase/lib/cmake/Qt6WebEngineQuick/Qt6WebEngineQuickConfig.cmake"
does NOT exist
Call Stack (most recent call first):
qtwebview/CMakeLists.txt:12 (find_package)
-- Configuration summary shown below. It has also been written to D:/Dev/qt-everywhere-src-6.4.0_x64/config.summary
-- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.
-- Configure summary:
Building for: win32-msvc (x86_64, CPU features: sse sse2)
Compiler: msvc 19.34.31933.0
Build options:
Mode ................................... debug
Fully optimize release builds (-O3) .... no
Building shared libraries .............. yes
Using C standard ....................... C11
Using C++ standard ..................... C++17
Relocatable ............................ yes
Using precompiled headers .............. yes
Using LTCG ............................. no
Using Intel CET ........................ no
Target compiler supports:
SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
AVX .................................. AVX AVX2 VAES
AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI AVX512VBMI2
Other x86 ............................ AES F16C RDRAND SHA
Sanitizers:
Addresses ............................ no
Threads .............................. no
Memory ............................... no
Fuzzer (instrumentation only) ........ no
Undefined ............................ no
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 PrintSupport ........................ 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
Zstandard support ...................... no
Thread support ......................... yes
Common build options:
Linker can resolve circular dependencies yes
Qt Core:
backtrace .............................. no
DoubleConversion ....................... yes
Using system DoubleConversion ........ no
GLib ................................... no
ICU .................................... no
Using system libb2 ..................... no
Built-in copy of the MIME database ..... yes
cpp/winrt base ......................... yes
Tracing backend ........................ <none>
Logging backends:
journald ............................. no
syslog ............................... no
slog2 ................................ no
PCRE2 .................................. yes
Using system PCRE2 ................... no
Qt Sql:
SQL item models ........................ yes
Qt Network:
getifaddrs() ........................... no
IPv6 ifname ............................ no
libproxy ............................... no
Schannel ............................... yes
OpenSSL ................................ yes
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ yes
DTLS ................................... yes
OCSP-stapling .......................... yes
SCTP ................................... no
Use system proxies ..................... yes
GSSAPI ................................. no
Brotli Decompression Support ........... no
qTopLevelDomain() ...................... yes
Built-in publicsuffix database ....... yes
System publicsuffix database ......... no
Core tools:
Android deployment tool ................ yes
macOS deployment tool .................. no
Windows deployment tool ................ yes
qmake .................................. 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
Text formats:
HtmlParser ........................... yes
CssParser ............................ yes
OdfWriter ............................ yes
MarkdownReader ....................... yes
Using system libmd4c ............... no
MarkdownWriter ....................... yes
EGL .................................... no
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
Dynamic OpenGL ....................... yes
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
HiRes wheel support in libinput ........ no
INTEGRITY HID .......................... no
mtdev .................................. no
tslib .................................. no
xkbcommon .............................. no
X11 specific:
XLib ................................. no
XCB Xlib ............................. no
EGL on X11 ........................... no
xkbcommon-x11 ........................ no
xcb-sm ............................... no
QPA backends:
DirectFB ............................... no
EGLFS .................................. no
EGLFS details:
EGLFS OpenWFD ........................ no
EGLFS i.Mx6 .......................... no
EGLFS i.Mx6 Wayland .................. no
EGLFS RCAR ........................... no
EGLFS EGLDevice ...................... no
EGLFS GBM ............................ no
EGLFS VSP2 ........................... no
EGLFS Mali ........................... no
EGLFS Raspberry Pi ................... no
EGLFS X11 ............................ no
LinuxFB ................................ no
VNC .................................... no
VK_KHR_display ......................... no
QNX:
lgmon ................................ no
IMF .................................. no
XCB:
Using system-provided xcb-xinput ..... no
GL integrations:
GLX Plugin ......................... no
XCB GLX .......................... no
EGL-X11 Plugin ..................... no
Windows:
Direct 2D ............................ yes
Direct 2D 1.1 ........................ yes
DirectWrite .......................... yes
DirectWrite 3 ........................ yes
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows WindowsVista
Qt Testlib:
Tester for item models ................. yes
Qt PrintSupport:
CUPS ................................... no
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. no
OCI (Oracle) ........................... no
ODBC ................................... yes
PostgreSQL ............................. no
SQLite ................................. yes
Using system provided SQLite ......... no
Further Image Formats:
JasPer ................................. no
MNG .................................... no
TIFF ................................... yes
Using system libtiff ................. no
WEBP ................................... yes
Using system libwebp ................. no
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... yes
QML just-in-time compiler .............. yes
QML XML http request ................... yes
QML Locale ............................. yes
Qt QML Models:
QML list model ......................... yes
QML delegate model ..................... yes
Qt Quick:
AnimatedImage item ..................... yes
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
TableView item ......................... yes
TreeView item .......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes
Calendar support ....................... yes
Qt Quick Controls 2:
Styles ................................. Basic Fusion Imagine iOS Material Universal macOS Windows
Qt Multimedia:
Spatial Audio .......................... yes
Spatial Audio (Quick3D) ................ no
Low level Audio Backend:
ALSA (experimental) .................. no
PulseAudio ........................... no
MMRenderer ........................... no
CoreAudio ............................ no
Windows Media SDK .................... yes
Open SLES (Android) .................. no
Web Assembly ......................... no
Plugin:
GStreamer 1.0 ........................ no
FFmpeg ............................... no
MMRenderer ........................... no
AVFoundation ......................... no
Windows Media Foundation ............. yes
Hardware acceleration and features:
Video for Linux ...................... no
VAAPI support ........................ no
Linux DMA buffer support ............. no
VideoToolbox ......................... no
Qt 3D:
Assimp ................................. yes
System Assimp .......................... no
Use SSE2 instructions .................. yes
Use AVX2 instructions .................. no
Aspects:
Render aspect ........................ yes
Input aspect ......................... yes
Logic aspect ......................... yes
Animation aspect ..................... yes
Extras aspect ........................ yes
Qt 3D APIs:
Vulkan ................................. no
Qt 3D Renderers:
OpenGL Renderer ........................ yes
RHI Renderer ........................... yes
Qt3D Geometry Loaders:
Autodesk FBX ........................... no
Qt 5 Compatibility Libraries:
iconv .................................. no
Qt Charts Types:
Area Chart ............................. yes
Line Chart ............................. yes
Spline Chart ........................... yes
Scatter Chart .......................... yes
Bar Chart .............................. yes
Pie Chart .............................. yes
Boxplot Chart .......................... yes
Candlestick Chart ...................... yes
Qt Axis Types:
DateTime Axis .......................... yes
Qt Bluetooth:
BlueZ .................................. no
BlueZ Low Energy ....................... no
Linux Crypto API ....................... no
WinRT Bluetooth API .................... yes
Qt Tools:
Qt Assistant ......................... yes
QDoc ................................. no
Clang-based lupdate parser ........... no
Qt Designer .......................... yes
Qt Distance Field Generator .......... yes
Qt Linguist .......................... yes
pixeltool ............................ yes
qdbus ................................ yes
Qt Attributions Scanner .............. yes
qtdiag ............................... yes
qtplugininfo ......................... yes
Qt Opcua:
Open62541 ............................ yes
Unified Automation C++ SDK ........... no
Support for namespace 0 NodeId names . yes
Namespace 0 NodeIds generator ........ no
Open62541 security support ........... no
Support for global discovery server .. no
Serial Port:
ntddmodm ............................. no
QtQuick3D:
Assimp ............................... yes
System Assimp ........................ no
Qt Remote Objects:
High Availability Manager (ham) ...... no
Qt Scxml:
ECMAScript data model for QtScxml .... yes
Qt Sensors:
WinRT sensors backend ................ yes
Qt SerialBus:
Socket CAN ........................... no
Socket CAN FD ........................ no
SerialPort Support ................... yes
Qt TextToSpeech:
Flite ................................ no
Flite with ALSA ...................... no
Speech Dispatcher .................... no
Qt Virtualkeyboard:
Desktop integration .................. yes
Built-in layouts ..................... yes
Key navigation ....................... no
Retro style as default ............... no
Sensitive Debug ...................... no
Cerence .............................. no
Static Linking ..................... no
Handwriting ........................ no
Alphabetic ....................... no
CJK .............................. no
XT9 ................................ no
XT9 Debug ........................ no
XT9 9-key layouts ................ no
Bundle resources ..................
. no
Handwriting ...................... no
XT9 .............................. no
Hunspell ............................. no
Using Hunspell copy from 3rdparty/ . no
OpenWnn .............................. yes
MyScript ............................. no
Language support enabled for:
Arabic ............................. yes
Bulgarian .......................... yes
Czech .............................. yes
Danish ............................. yes
German ............................. yes
Greek .............................. yes
English GB ......................... yes
English US ......................... yes
Spanish ............................ yes
Spanish Mexico ..................... yes
Estonian ........................... yes
Farsi .............................. yes
Finnish ............................ yes
French Canada ...................... yes
French France ...................... yes
Note: Hunspell in Qt Virtual Keyboard is not enabled. Spelling correction will not be available.
WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
On macOS, you can use Homebrew's llvm package.
You will also need to set the FEATURE_clang CMake variable to ON to re-evaluate this check.
WARNING: Clang-based lupdate parser will not be available. LLVM and Clang C++ libraries have not been found.
Hebrew ............................. yes
Hindi .............................. yes
Croatian ........................... yes
Hungarian .......................... yes
Indonesian ......................... yes
Italian ............................ yes
Japanese ........................... yes
Korean ............................. yes
Malay .............................. yes
Norwegian .......................... yes
Dutch .............................. yes
Polish ............................. yes
Portuguese Brazil .................. yes
Portuguese Portugal ................ yes
Romanian ........................... yes
Russian ............................ yes
Slovak ............................. yes
Slovenian .......................... yes
Albanian ........................... yes
Serbian ............................ yes
Swedish ............................ yes
Thai .............................You will need to set the FEATURE_clangcpp CMake variable to ON to re-evaluate this check.
WARNING: QtWebEngine won't be built. node.js version 12 or later is required.
WARNING: QtPdf won't be built. node.js version 12 or later is required.
.. yes
Turkish ............................ yes
Ukrainian .......................... yes
Vietnamese ......................... yes
Simplified Chinese ................. yes
Traditional Chinese ................ yes
HongKong Chinese ................... no
Traditional chinese input methods:
Zhuyin ............................. yes
Cangjie ............................ yes
WebEngine Repository Build Options:
Build Ninja .......................... no
Build Gn ............................. yes
Jumbo Build .......................... yes
Developer build ...................... no
Build QtWebEngine Modules:
Build QtWebEngineCore .............. no
Build QtWebEngineWidgets ........... no
Build QtWebEngineQuick ............. no
Build QtPdf Modules:
Build QtPdfWidgets ................. no
Build QtPdfQuick ................... no
--
Qt is now configured for building. Just run 'cmake --build . --parallel'
Once everything is built, you must run 'cmake --install .'
Qt will be installed into 'D:/QT6_x64
D:/Dev/qt-everywhere-src-6.4.0_x64/-debug-and-release'
To configure and build other Qt modules, you can use the following convenience script:
D:/QT6_x64
D:/Dev/qt-everywhere-src-6.4.0_x64/-debug-and-release/bin/qt-configure-module.bat
If reconfiguration fails for some reason, try removing 'CMakeCache.txt' from the build directory
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Dev/qt-everywhere-src-6.4.0_x64
D:\Dev\qt-everywhere-src-6.4.0_x64>
3. 编译和安装
继续在 Visual Studio 2022 的x64 Native Tools Command Prompt for VS 2022
控制台窗口中执行以下 2 条命令,分别完成编译和安装这 2 个过程。
cmake --build . --parallel
cmake --install .
操作完毕。