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

如何将第三方库链接到针对WebAssembly(Wasm)的Qt项目中,qt,cmake,webassembly,Qt,Cmake,Webassembly,我有一个大型的C++/Qt项目,它使用CMake来构建,当目标指向Wasm时,Qt不支持它(现在只支持qmake) 该项目依赖于多个第三方库,最著名的是yaml cpp,它也使用cmake 我可以为此创建一个Qt项目文件,而不是使用CMake,但它将仅涵盖我的应用程序,而不包括使用CMake的第三方库。如果我的目标是一些更常见的平台,比如Linux或Windows,我想我可以将第三方库编译为动态库(.so或.dll),然后将我的应用程序链接到它们,但我不知道在Wasm世界中如何做到这一点 有没有

我有一个大型的C++/Qt项目,它使用CMake来构建,当目标指向Wasm时,Qt不支持它(现在只支持qmake)

该项目依赖于多个第三方库,最著名的是yaml cpp,它也使用cmake

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

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


有人在这方面取得过成功吗?甚至可能吗?

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

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

是的,这也是我的理解,但我的问题是:如何做到这一点?如何将两个wasm对象相互链接?对于Qt来说,这似乎仍在进行中:是的,这也是我的理解,然而,我的问题是:如何做到这一点?如何将2个WASM对象相互链接?对于Qt来说,这似乎仍在进行中: