Проблема со сборкой Qt 5.15.16 для WinRT.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Проблема со сборкой Qt 5.15.16 для WinRT.

Сообщение Anonymous »

Я пытаюсь собрать Qt 5.15.16 для WinRT Arm — winrt-arm-msvc2019. Согласно этой документации: https://wiki.qt.io/WinRTBuild
Из документации:

Независимо от того, какая у вас цель (ПК, планшет, телефон и т. д.), ВСЕГДА ИСПОЛЬЗУЙТЕ
"Командную строку собственных инструментов x86"
. Это связано с тем, что командная строка
сначала собирает инструменты хоста (qmake, moc, rcc и т. д.), а затем
кросс-компилирует библиотеки Qt. Например, не открывайте командную
подсказку Windows Phone, поскольку она не сможет создать инструменты хоста.

Итак, я попробовал командную строку x86 Native Tools для VS 2019 для сборки: winrt-arm-msvc2019
Настроить команду:

Код: Выделить всё

configure.bat -top-level -debug-and-release -xplatform "winrt-arm-msvc2019" -confirm-license -mp -c+std c+17 -opensource -nomake examples -no-ltcg -skip qtwebengine -prefix "C:\Qt\5.15.16\winrt_armv7_msvc2019"
У меня возникла следующая проблема:

Код: Выделить всё

...
cl -Yuqmake_pch.h -FIqmake_pch.h -Fpqmake_pch.pch -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\library -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators\unix -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators\win32 -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators\mac  -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/src/3rdparty/tinycbor/src  -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include\QtCore -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include\QtCore\5.15.16 -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include\QtCore\5.15.16\QtCore  -I..\src\corelib\global  -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.15.16\" -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=15 -DQT_VERSION_PATCH=16  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE  C:\QtBuild\qt-everywhere-src-5.15.16\qtbase\src\corelib\serialization\qjsonvalue.cpp
qjsonvalue.cpp
cl -c -Fo./ -Fdqmake.pdb  -W2 -nologo -O2  /MP /wd4577   -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\library -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators\unix -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators\win32 -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\qmake\generators\mac  -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/src/3rdparty/tinycbor/src  -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include\QtCore -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include\QtCore\5.15.16 -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase/include\QtCore\5.15.16\QtCore  -I..\src\corelib\global  -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\mkspecs\win32-msvc   -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS  -DQT_VERSION_STR=\"5.15.16\"  -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=15 -DQT_VERSION_PATCH=16  -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL  -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_BUILD_QMAKE_BOOTSTRAP C:\QtBuild\qt-everywhere-src-5.15.16\qtbase\src\corelib\global\qlibraryinfo.cpp
qlibraryinfo.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  qbytearraylist.obj  qvsnprintf.obj  qbytearraymatcher.obj  qcalendar.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  qgregoriancalendar.obj  qhash.obj  qiodevice.obj  qringbuffer.obj  qdebug.obj  qlist.obj  qlocale.obj  qlocale_tools.obj  qlocale_win.obj  qversionnumber.obj  qmalloc.obj  qmap.obj  qoperatingsystemversion.obj  qoperatingsystemversion_win.obj  qregexp.obj  qromancalendar.obj  qutfcodec.obj  qstring.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  qcborstreamwriter.obj  qcborvalue.obj  qjsoncbor.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.29.30157.0
Copyright (C) Microsoft Corporation.  All rights reserved.
Info: creating super cache file C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\.qmake.super
Info: creating cache file C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\.qmake.cache
Info: creating stash file C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\.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... ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
Check config.log for details.
C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild>
Config.log:

Код: Выделить всё

Command line: -debug-and-release -xplatform winrt-arm-msvc2019 -confirm-license -mp -c++std c++17 -opensource -nomake examples -no-ltcg -skip qtwebengine -prefix C:\Qt\5.15.16\winrt_armv7_msvc2019
executing config test verifyspec
+ cd /d C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\config.tests\verifyspec && C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch"  "QMAKE_LFLAGS += /ENTRY:main" -early "CONFIG += cross_compile" C:/QtBuild/qt-everywhere-src-5.15.16/qtbase/config.tests/verifyspec
+ cd /d C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\config.tests\verifyspec && set MAKEFLAGS=& jom
> jom 1.1.4 - empower your cores
>     cl -c -nologo -FS -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W0 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQ_BYTE_ORDER=Q_LITTLE_ENDIAN -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP -DWINAPI_PARTITION_PHONE_APP=1 -DARM -D__ARM__ -D__arm__ -DNDEBUG -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\config.tests\verifyspec -I. -IC:\QtBuild\qt-everywhere-src-5.15.16\qtbase\mkspecs\winrt-arm-msvc2019 -Fo @C:\Users\cobra\AppData\Local\Temp\verifyspec.obj.34368.0.jom
> verifyspec.cpp
>     link /NOLOGO /DYNAMICBASE /NXCOMPAT /NODEFAULTLIB:ole32.lib /APPCONTAINER /MACHINE:ARM /NODEFAULTLIB:kernel32.lib /ENTRY:main /INCREMENTAL:NO /SUBSYSTEM:WINDOWS /MANIFEST:NO /OUT:verifyspec.exe @C:\Users\cobra\AppData\Local\Temp\verifyspec.exe.34368.31.jom
> verifyspec.obj : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'ARM'
> jom: C:\QtBuild\qt-everywhere-src-5.15.16\qtBuild\config.tests\verifyspec\Makefile [verifyspec.exe] Error 1112
Есть идеи, как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -winrt-arm
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»