VenomousByte 4 минуты a go
Привет, абсолютный новичок в этом форуме, поэтому, пожалуйста, простите (и скажите), что я делаю что-то ужасно неправильно.
Я ищу портировать Qt-приложение в WebAssembly, но я застрял. Приложение позволяет пользователю «летать» через трехмерное пространство, используя камеру типа первого лица. Проблема здесь в том, что Qt3DRenderer :: QCamera используется для облегчения этого перемещения, но, похоже, не поддерживается WebAssembly.
У меня сейчас такой вопрос: мне просто не повезло, и он может не сделано, или есть какая-то альтернатива для камеры от первого лица со свободным движением 3D, которая поддерживается WebAssembly?
Вот как я создаю файл * .pro (и добавляю несколько включаемых каталогов):
@echo off
set QT_DIR=C:\...
START /WAIT %QT_DIR%\wasm_32\bin\qmake -project
ECHO # Additional Include Paths >> .\app.pro
ECHO INCLUDEPATH += .\..\.. >> .\app.pro
ECHO INCLUDEPATH += %QT_DIR%\wasm_32\include\QtWidgets >> .\app.pro
ECHO INCLUDEPATH += %QT_DIR%\wasm_32\include\QtMultimedia >> .\app.pro
ECHO # Define Cpp Version >> .\app.pro
ECHO CONFIG += c++1z >> .\app.pro
ECHO # Suppress Warnings >> .\app.pro
ECHO CONFIG += warn_off >> .\app.pro
Вот как я пытаюсь собрать все это в WebAssembly:
set QT_DIR=C:\...
set VS_COMPILER_TOOLS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\..."
set PATH=%VS_COMPILER_TOOLS_PATH%\cl.exe;%PATH%
call E:\pcr\emsdk\emsdk.bat activate
START /WAIT %QT_DIR%\msvc2017_64\bin\uic app.ui -o ui_app.h
START /WAIT %QT_DIR%\wasm_32\bin\qmake
make
И это сообщения об ошибках ... ... без добавления % QT_DIR% \ msvc2017_64 \ include как местоположение для включения в файл проекта:
..\..\tools/app/apprenderwidget.h:19:10: fatal error: 'Qt3DRender/QCamera' file not found
... после добавления % QT_DIR% \ msvc2017_64 \ include как местоположение для включения в файл проекта: (в основном куча неопределенных символьных ошибок, которые включают, но не ограничиваются функциями QCamera)
...
warning: To disable errors for undefined symbols use `-s ERROR_ON_UNDEFINED_SYMBOLS=0`
...
error: undefined symbol: _ZN10Qt3DRender7QCamera11setPositionERK9QVector3D
error: undefined symbol: _ZN10Qt3DRender7QCamera11setUpVectorERK9QVector3D
error: undefined symbol: _ZN10Qt3DRender7QCamera13setViewCenterERK9QVector3D
error: undefined symbol: _ZN10Qt3DRender7QCamera3panEfRK9QVector3D
error: undefined symbol: _ZN10Qt3DRender7QCamera4tiltEf
error: undefined symbol: _ZN10Qt3DRender7QCamera9translateERK9QVector3DNS0_23CameraTranslationOptionE
error: undefined symbol: _ZN10Qt3DRender7QCameraC1EPN8Qt3DCore5QNodeE
error: undefined symbol: _ZN10Qt3DRender7QCameraD1Ev
...