Веб-сборка QT Creator: ошибка при анализе файла Test.pro. Сдаваться

Я пытаюсь окунуться в Qt WebAssembly в Windows 10, поэтому выполнил необходимую настройку в соответствии с инструкциями Qt для WebAssembly . Теперь у меня установлено следующее:

  • Qt: 6.5.2
  • Создатель Qt: 11.0
  • эмсдк: 3.1.25

В настройках Qt Creator > Устройства > WebAssembly я вижу следующее:

      Adding directories to PATH:

C:\dev\emsdk-3.1.44\node\16.20.0_64bit\bin
C:\dev\emsdk-3.1.44\upstream\emscripten
C:\dev\emsdk-3.1.44
C:\dev\emsdk-3.1.44\python\3.9.2-nuget_64bit

Setting environment variables:

EMSDK=C:/dev/emsdk-3.1.44
EMSDK_NODE=C:\dev\emsdk-3.1.44\node\16.20.0_64bit\bin\node.exe
EMSDK_PYTHON=C:\dev\emsdk-3.1.44\python\3.9.2-nuget_64bit\python.exe
JAVA_HOME=C:\dev\emsdk-3.1.44\java\8.152_64bit

Судя по тому, что я вижу, все должно быть в порядке (примечание: я скачал последнюю версию emsdk с GitHub и использовал ее для установки 3.1.25), и активированная версия отображается как 3.1.25.

Зайдя в «Настройки» > «Наборы» > «Наборы», я вижу компилятор C и C++.Emscripten Compiler 3.1.25 for C/C++что также выглядит правильным, исходя из всего, что мне удалось предположить.

На этом этапе я создаю новыйQt Widgets Applicationпроект под названием Test и укажите ему использоватьDesktop Qt 6.5.2 MinGW 64-bitи комплекты. Не внося изменений в то, что создается Qt Creator, я могу запустить проект как настольное приложение и увидеть на экране пустое окно. Однако, когда я переключаюсь на WebAssembly, меня встречает ошибка.

      <path>\Test\Test.pro:-1: error: Error while parsing file <path>\Test\Test.pro. Giving up.

В проекте указан только файл Test.pro и ничего больше (на рабочем столе я вижу все файлы h, cpp и ui). Если я попытаюсь скомпилировать проект, все, что я получу, это следующую ошибку:

      Error while building/deploying project Test (kit: WebAssembly Qt 6.5.2 (multi-threaded))
When executing step "Make"

Я не трогал ни один из сгенерированных файлов (h, cpp, ui, pro) и совершенно не понимаю, что происходит. Мой Test.pro выглядит следующим образом:

      QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

Обновлять

Наконец-то дошли руки докопаться до этого, и оказалось, что это связано сWebAssembly Qt 6.5.2 (multi-threaded). Если я используюWebAssembly Qt 6.5.2 (single-threaded)тогда все работает как положено...

0 ответов

Другие вопросы по тегам