You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows平台编译Qt 5.15.16时遭遇错误求助

Qt 5.15.16编译报错问题

操作步骤

  • 克隆源码:
    git clone https://code.qt.io/qt/qt5.git
    
  • 初始化仓库:
    perl init-repository --module-subset=default,-qtwebengine
    
  • 在源码旁新建文件夹,执行配置命令:
    ..\qt5\configure.bat ^
    -prefix c:\Qt\5.15.16\msvc2019_64 ^
    -opensource -confirm-license ^
    -recheck-all -debug-and-release -mp -nomake examples -nomake tests  ^
    -sql-oci -skip qtwebengine -skip qtspeech -platform win32-msvc ^
    -opengl dynamic -force-debug-info -optimize-size ^
    -ssl -make libs ^
    -I "C:\Qt\Tools\OpenSSL\Win_x64\include" ^
    -I "%OCI_INC_DIR%" ^
    -L "C:\Qt\Tools\OpenSSL\Win_x64\lib" ^
    -L "%OCI_LIB_DIR%" 
    
  • 配置完成后,在已执行以下命令并设置OCI环境变量的Windows命令行中执行nmake:
    call "\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat"
    
    命令行PATH已包含Git 2.49.0、Perl 5.40.2、Python 3和CMake 3.30.3。

第一次编译错误

编译数分钟后出现如下错误:

cmd /c C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\mime\generate.bat C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\mime\packages\freedesktop.org.xml > .rcc\debug\qmimeprovider_database.cpp
LPX-00202: could not open "sel" (error 200)
Failed to run xml sel -D -B -t -c / C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\mime\packages\freedesktop.org.xml at C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\mime\generate.pl line 86.
NMAKE : fatal error U1077: 'cmd' : 返回代码 '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\nmake.exe"' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : 返回代码 '0x2'
Stop.

再次执行nmake后的错误

再次执行nmake,错误信息变为:

cl -c -FIglobal\qt_pch.h -Yuglobal\qt_pch.h -Fp.pch\debug\Qt5Cored_pch.pch -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -std:c++17 -utf-8 -EHsc -MP -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 /Fd.obj\debug\Qt5Cored.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DPCRE2_CODE_UNIT_WIDTH=16 -DPCRE2_STATIC -D_WINDLL -IC:\Qt-Source\qt5\qtbase\src\corelib -I. -IC:\Qt-Source\qt5\qtbase\src\3rdparty\zlib\src -Iglobal -IC:\Qt-Source\qt5\qtbase\src\3rdparty\md5 -IC:\Qt-Source\qt5\qtbase\src\3rdparty\md4 -IC:\Qt-Source\qt5\qtbase\src\3rdparty\sha3 -IC:\Qt-Source\qt5\qtbase\src\3rdparty -IC:\Qt-Source\qt5\qtbase\src\3rdparty\double-conversion\include -IC:\Qt-Source\qt5\qtbase\src\3rdparty\harfbuzz\src -IC:\Qt-Source\qt5\qtbase\src\3rdparty\tinycbor\src -I.rcc/debug -I..\..\include -I..\..\include\QtCore -I..\..\include\QtCore\5.15.16 -I..\..\include\QtCore\5.15.16\QtCore -Itmp -I.moc\debug -I.tracegen\debug -IC:\Qt-Source\qt5\qtbase\src\3rdparty\pcre2\src -IC:\Qt\Tools\OpenSSL\Win_x64\include -IC:\oracle-dev\instantclient_19_12\sdk\include -IC:\Qt-Source\qt5\qtbase\mkspecs\win32-msvc -Fo.obj\debug\ @C:\Users\fabio\AppData\Local\Temp\nm2476.tmp
qmimeprovider.cpp
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(88): error C2479: 'QMimeProviderBase::{ctor}': 'allocate( )' 仅对静态范围的数据项有效
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(88): error C2024: 'alignas' 属性仅适用于变量、数据成员和标记类型
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(637): error C2065: 'mimetype_database': 未声明的标识符
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(638): error C2065: 'mimetype_database': 未声明的标识符
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(638): error C2065: 'MimeTypeDatabaseOriginalSize': 未声明的标识符
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(638): error C2338: 压缩后的MIME数据库大于原始大小
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(640): error C2065: 'MimeTypeDatabaseOriginalSize': 未声明的标识符
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(640): error C2338: 捆绑的MIME数据库过大
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(642): error C2065: 'mimetype_database': 未声明的标识符
C:\Qt-Source\qt5\qtbase\src\corelib\mimetypes\qmimeprovider.cpp(643): error C2065: 'MimeTypeDatabaseOriginalSize': 未声明的标识符
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.EXE"' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\nmake.exe"' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : 返回代码 '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : 返回代码 '0x2'
Stop.

补充说明

已在3台Windows 11设备上重复上述步骤,均出现相同问题,目前不清楚错误中的“sel”是否为XML命令对应的文件。


内容的提问来源于stack exchange,提问作者Fabio Paolini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:22:34