我想为我的科学程序测试QT WebAssembly。因此,我安装了emscripten。
$em++ --version
返回
emcc (Emscripten gcc/clang-like replacement) 1.38.30 (commit a5082b232617c762cb65832429f896c838df2483)...
我使用Qt WebInstaller安装了Qt。在我的安装目录中,有一个文件夹,其中包含和:
$ ~/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并点击项目
时,我看到了一个名为:Qt 5.13.2 WebAssembly
的Kit,但我无法选择它(它被灰色覆盖了)。当我点击管理Kits时,发现没有选择C和C++编译器来配合Qt 5.13.2.WebAssembly。
![Kits](https://istack.dev59.com/Dwkxn.webp)
当我切换到Qt版本
时也会收到警告:
ABI detection failed: Make sure to use a matching compiler when building. No qmlscene installed.
以下是所有可选编译器列表:
![compilers](https://istack.dev59.com/fprgI.webp)
我不真正理解emscripten与所有这些有什么关系。emscripten是编译器吗?如果是,
Qt 5.13.2 WebAssembly
kit是否应该被自动选择?一个合适的Qt WebAssembly
kit是什么样子?如果我选择gcc作为我的编译器,我会收到一个错误消息:
/home/myName/Qt_web/5.13.2/wasm_32/plugins/platforms/libqwasm.a:-1: error: error adding symbols: File format not recognized
编辑:
当我打开 Qt 维护工具并查看已安装的软件包时,我会看到以下内容:
第二次编辑:
在切换到 Qt Creator 4.11.0-beta2 (4.10.83)
后,我能够按照此描述的部分进行操作。我能够选择插件,但我仍然无法更改设备类型。
第三次编辑:
似乎我的 Emscripten 编译器存在一些问题。 编译器是否位于以下位置:
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
中。这会有问题吗?
编辑