如何将第三方库链接到针对WebAssembly(Wasm)的Qt项目

时间:2019-05-25 10:04:19

标签: qt cmake webassembly

我有一个大型的C ++ / Qt项目,该项目使用CMake进行构建,当目标为Wasm https://wiki.qt.io/Qt_for_WebAssembly时,Qt不支持该项目(现在仅支持qmake)。

该项目取决于多个第三方库,其中最著名的是yaml-cpp,它也使用cmake。

我可以为此创建一个Qt项目文件,而不是使用CMake,但是它将仅覆盖我的应用程序,而不会覆盖使用CMake的第三方库。如果我的目标是一些更常见的平台,例如Linux或Windows,我想我可以将第三方库编译为动态库(.so或.dll),然后将我的应用程序链接到它们,但是我不知道该怎么做。在Wasm世界中。

是否可以将第3个库链接或嵌入到输出Wasm二进制文件中?我想我必须将yaml-cpp编译成Wasm本身,然后以某种方式将这两个Wasm对象链接在一起?

有人成功做到了吗?甚至有可能吗?

1 个答案:

答案 0 :(得分:0)

我的理解是,您也必须为wasm编译那些第三方库。浏览器可以在一个很好的安全沙箱中安全地执行wasm,但是允许在DLL中执行任意代码将完全破坏这种安全性。