Unsolved Webassembly 5.15.0 Win10 won't compile
-
I want test building webassembley on my win10 desktop.
- Installed MinGW and sed
- Installed 5.15.0 binaries with Maintenance tool no build from source required
- Acitvated the webassembly Plugin 4.14.0
- Installed emsdk version 1.39.7 , activatedd and run the emsdk_env.bat
- copied .emscripten to my user folder adjusted the path
import os emsdk_path = "c:\\Qt\\emsdk" #os.path.dirname(os.environ.get('EM_CONFIG')).replace('\\', '/') NODE_JS = emsdk_path + '\\node\\12.18.1_64bit\\bin\\node.exe' PYTHON = emsdk_path + '\\python\\3.7.4-pywin32_64bit\\python.exe' JAVA = emsdk_path + '\\java\\8.152_64bit\\bin\\java.exe' LLVM_ROOT = emsdk_path + '\\upstream\\bin' BINARYEN_ROOT = emsdk_path + '\\upstream' EMSCRIPTEN_ROOT = emsdk_path + '\\upstream\\emscripten' TEMP_DIR = 'c:\\temp' COMPILER_ENGINE = NODE_JS JS_ENGINES = [NODE_JS]
QtCreator kit settings
Compiler I added manual because was not recognized by QtCreator
I just created an simple QWidget Project, no modifications. Project name: WebApp
11:44:25: Führe Schritte für Projekt WebApp aus... 11:44:25: Starte: "C:\SysGCC\MinGW64\bin\mingw32-make.exe" clean -j8 del moc_predefs.h del moc_mainwindow.cpp del ui_mainwindow.h D:\_Development\_c++\Qt_Develope\build-WebApp-Qt_5_15_0_WebAssembly-Release\moc_mainwindow.cpp konnte nicht gefunden werden del main.obj mainwindow.obj webapp.js_plugin_import.obj moc_mainwindow.obj del *~ core *.core D:\_Development\_c++\Qt_Develope\build-WebApp-Qt_5_15_0_WebAssembly-Release\*~ konnte nicht gefunden werden 11:44:26: Der Prozess "C:\SysGCC\MinGW64\bin\mingw32-make.exe" wurde normal beendet. 11:44:26: Starte: "C:\Qt\5.15.0\wasm_32\bin\qmake.exe" D:\_Development\_c++\Qt_Develope\WebApp\WebApp.pro -spec wasm-emscripten "CONFIG+=qtquickcompiler" 11:44:27: Der Prozess "C:\Qt\5.15.0\wasm_32\bin\qmake.exe" wurde normal beendet. 11:44:27: Starte: "C:\SysGCC\MinGW64\bin\mingw32-make.exe" -f D:/_Development/_c++/Qt_Develope/build-WebApp-Qt_5_15_0_WebAssembly-Release/Makefile qmake_all mingw32-make: Nothing to be done for `qmake_all'. 11:44:28: Der Prozess "C:\SysGCC\MinGW64\bin\mingw32-make.exe" wurde normal beendet. 11:44:28: Starte: "C:\SysGCC\MinGW64\bin\mingw32-make.exe" -j8 C:\Qt\5.15.0\wasm_32\bin\uic.exe ..\WebApp\mainwindow.ui -o ui_mainwindow.h em++ -c -O2 -std=gnu++11 -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I..\WebApp -I. -IC:\Qt\5.15.0\wasm_32\include -IC:\Qt\5.15.0\wasm_32\include\QtWidgets -IC:\Qt\5.15.0\wasm_32\include\QtGui -IC:\Qt\5.15.0\wasm_32\include\QtCore -I. -I. -I/.emscripten_ports/openssl/include -IC:\Qt\5.15.0\wasm_32\mkspecs\wasm-emscripten -o main.obj ..\WebApp\main.cpp em++ -c -O2 -std=gnu++11 -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I..\WebApp -I. -IC:\Qt\5.15.0\wasm_32\include -IC:\Qt\5.15.0\wasm_32\include\QtWidgets -IC:\Qt\5.15.0\wasm_32\include\QtGui -IC:\Qt\5.15.0\wasm_32\include\QtCore -I. -I. -I/.emscripten_ports/openssl/include -IC:\Qt\5.15.0\wasm_32\mkspecs\wasm-emscripten -o mainwindow.obj ..\WebApp\mainwindow.cpp em++ -c -O2 -std=gnu++11 -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I..\WebApp -I. -IC:\Qt\5.15.0\wasm_32\include -IC:\Qt\5.15.0\wasm_32\include\QtWidgets -IC:\Qt\5.15.0\wasm_32\include\QtGui -IC:\Qt\5.15.0\wasm_32\include\QtCore -I. -I. -I/.emscripten_ports/openssl/include -IC:\Qt\5.15.0\wasm_32\mkspecs\wasm-emscripten -o webapp.js_plugin_import.obj D:/_Development/_c++/Qt_Develope/build-WebApp-Qt_5_15_0_WebAssembly-Release/webapp.js_plugin_import.cpp em++ -O2 -std=gnu++11 -s ALLOW_MEMORY_GROWTH=1 -Wall -Wextra -dM -E -o moc_predefs.h C:\Qt\5.15.0\wasm_32\mkspecs\features\data\dummy.cpp C:\Qt\5.15.0\wasm_32\bin\qmake.exe -install sed -e s/@APPNAME@/WebApp/g C:/Qt/5.15.0/wasm_32/plugins/platforms/wasm_shell.html > D:/_Development/_c++/Qt_Develope/build-WebApp-Qt_5_15_0_WebAssembly-Release/WebApp.html ********copy /y C:\Qt\5.15.0\wasm_32\plugins\platforms\qtloader.js D:\_Development\_c++\Qt_Develope\build-WebApp-Qt_5_15_0_WebAssembly-Release copy /y C:\Qt\5.15.0\wasm_32\plugins\platforms\qtlogo.svg D:\_Development\_c++\Qt_Develope\build-WebApp-Qt_5_15_0_WebAssembly-Release Syntaxfehler. mingw32-make: *** [appjs] Error 1 mingw32-make: *** Waiting for unfinished jobs....******** Syntaxfehler. mingw32-make: *** [appsvg] Error 1 In file included from ..\WebApp\main.cpp:1: In file included from ..\WebApp/mainwindow.h:4: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets\QMainWindow:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qmainwindow.h:44: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qwidget.h:45: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qobject.h:47: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:50: C:\Qt\5.15.0\wasm_32\include\QtCore/qbytearray.h:600:22: warning: definition of implicit copy constructor for 'QByteRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] inline QByteRef &operator=(const QByteRef &c) ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qbytearray.h:619:38: note: in implicit copy constructor for 'QByteRef' first required here { Q_ASSERT(i >= 0); detach(); return QByteRef(*this, i); } ^ In file included from ..\WebApp\mainwindow.cpp:1: In file included from ..\WebApp/mainwindow.h:4: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets\QMainWindow:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qmainwindow.h:44: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qwidget.h:45: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qobject.h:47: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:50: C:\Qt\5.15.0\wasm_32\include\QtCore/qbytearray.h:600:22: warning: definition of implicit copy constructor for 'QByteRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] inline QByteRef &operator=(const QByteRef &c) ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qbytearray.h:619:38: note: in implicit copy constructor for 'QByteRef' first required here { Q_ASSERT(i >= 0); detach(); return QByteRef(*this, i); } ^ In file included from D:/_Development/_c++/Qt_Develope/build-WebApp-Qt_5_15_0_WebAssembly-Release/webapp.js_plugin_import.cpp:3: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore\QtPlugin:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qplugin.h:44: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qobject.h:47: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:50: C:\Qt\5.15.0\wasm_32\include\QtCore/qbytearray.h:600:22: warning: definition of implicit copy constructor for 'QByteRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] inline QByteRef &operator=(const QByteRef &c) ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qbytearray.h:619:38: note: in implicit copy constructor for 'QByteRef' first required here { Q_ASSERT(i >= 0); detach(); return QByteRef(*this, i); } ^ In file included from ..\WebApp\main.cpp:1: In file included from ..\WebApp/mainwindow.h:4: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets\QMainWindow:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qmainwindow.h:44: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qwidget.h:45: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qobject.h:47: C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:1229:22: warning: definition of implicit copy constructor for 'QCharRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:1329:38: note: in implicit copy constructor for 'QCharRef' first required here { Q_ASSERT(i >= 0); detach(); return QCharRef(*this, i); } ^ In file included from ..\WebApp\mainwindow.cpp:1: In file included from ..\WebApp/mainwindow.h:4: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets\QMainWindow:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qmainwindow.h:44: In file included from C:\Qt\5.15.0\wasm_32\include\QtWidgets/qwidget.h:45: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qobject.h:47: C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:1229:22: warning: definition of implicit copy constructor for 'QCharRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:1329:38: note: in implicit copy constructor for 'QCharRef' first required here { Q_ASSERT(i >= 0); detach(); return QCharRef(*this, i); } ^ In file included from D:/_Development/_c++/Qt_Develope/build-WebApp-Qt_5_15_0_WebAssembly-Release/webapp.js_plugin_import.cpp:3: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore\QtPlugin:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qplugin.h:44: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qobject.h:47: C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:1229:22: warning: definition of implicit copy constructor for 'QCharRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qstring.h:1329:38: note: in implicit copy constructor for 'QCharRef' first required here { Q_ASSERT(i >= 0); detach(); return QCharRef(*this, i); } ^ In file included from D:/_Development/_c++/Qt_Develope/build-WebApp-Qt_5_15_0_WebAssembly-Release/webapp.js_plugin_import.cpp:3: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore\QtPlugin:1: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qplugin.h:46: In file included from C:\Qt\5.15.0\wasm_32\include\QtCore/qjsonobject.h:43: C:\Qt\5.15.0\wasm_32\include\QtCore/qjsonvalue.h:168:20: warning: definition of implicit copy constructor for 'QJsonValueRef' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy] QJsonValueRef &operator = (const QJsonValueRef &val); ^ C:\Qt\5.15.0\wasm_32\include\QtCore/qjsonobject.h:142:53: note: in implicit copy constructor for 'QJsonValueRef' first required here inline QJsonValueRef value() const { return QJsonValueRef(o, i); } ^ 3 warnings generated. 2 warnings generated. 2 warnings generated. 11:44:33: Der Prozess "C:\SysGCC\MinGW64\bin\mingw32-make.exe" wurde mit dem Rückgabewert 2 beendet. Fehler beim Erstellen/Deployment des Projekts WebApp (Kit: Qt 5.15.0 WebAssembly) Bei der Ausführung von Schritt "Make" 11:44:33: Verstrichene Zeit: 00:08.
I think the prolbem is here
copy /y C:\Qt\5.15.0\wasm_32\plugins\platforms\qtloader.js D:_Development_c++\Qt_Develope\build-WebApp-Qt_5_15_0_WebAssembly-Release
copy /y C:\Qt\5.15.0\wasm_32\plugins\platforms\qtlogo.svg D:_Development_c++\Qt_Develope\build-WebApp-Qt_5_15_0_WebAssembly-Release
Syntaxfehler.
mingw32-make: *** [appjs] Error 1
mingw32-make: *** Waiting for unfinished jobs....It seems the copy of the 2 files is not working. I checked source and target folder, full access allowed.
I found nothing in the web, and I spend serveral days without any solution.
Help is appreciated!
Thanks! -
Can you try 5.15.1 or 5.15.2, as there was a bug on windows that stopped those files from being copied.