我想为我的科学程序测试QT WebAssembly。因此,我安装了emscripten。
$em++ --version
返回
emcc (Emscripten gcc/clang-like replacement) 1.38.30 (commit a5082b232617c762cb65832429f896c838df2483)...
然后,我使用Qt WebInstaller安装了Qt。在我的安装目录中,我有一个wasm_32
文件夹,其中包含bin
和qmake
:
$ ~/Qt_web/5.13.2/wasm_32/bin/qmake --version
返回
QMake version 3.1
Using Qt version 5.13.2 in /home/myName/Qt_web/5.13.2/wasm_32/lib
但是,当我启动Qt creator时,单击Projects
,我看到一个名为:Qt 5.13.2 WebAssembly
的工具包,但是我无法选择它(它显示为灰色)。当单击管理工具包时,我看到没有为Qt 5.13.2.WebAssembly选择C和C ++编译器。
当我更改为Qt Versions
时也会收到警告。警告说:
ABI detection failed: Make sure to use a matching compiler when building. No qmlscene installed.
问题:
我不太了解emscripten
与所有这些都有什么关系。 emscripten是编译器吗?如果是,应该通过Qt 5.13.2 WebAssembly
套件自动选择它吗?合适的Qt WebAssembly
套件外观如何?
如果选择gcc作为编译器,则会出现错误提示:
/home/myName/Qt_web/5.13.2/wasm_32/plugins/platforms/libqwasm.a:-1: error: error adding symbols: File format not recognized
编辑:
当我打开qt维护工具并查看已安装的软件包时,将得到以下信息:
EDIT2:更改为Qt Creator 4.11.0-beta2 (4.10.83)
后,我可以按照this描述的部分进行操作。我可以选择插件,但仍然无法更改设备类型。
EDIT3:
好像我的脚本编译器有一些问题。编译器是否位于:
emscripten/emsdk/clang/e1.38.30_64bit/clang++
emscripten/emsdk/clang/e1.38.30_64bit/clang
[我注意到的一件事是,如果我在QtCreator >>套件>>编译器中使用add
,然后选择Add >> WebAssembly >> C
,它将在Manual >> C++ >> Emscripten Compiler
中而不是Manual >> C >> Emscripten Compiler
中生成一个新条目。这有问题吗?
编辑
您是否尝试过在kits选项卡中使用此值设置编译器?
编译器:C编译器x86 64 e1.38.27_bitC ++编译器x86 64 e1.38.27_bit
Qt版本:使用webassembly构建的qmake的路径,例如webassembly二进制文件或自定义二进制文件。
Qt mkspec:wasm-emscripten
希望此信息有帮助,如果您遇到任何其他问题,请告诉我。