我可以在不使用Qt for Webassembly的情况下使用Emscripten编译Qt吗?



由于Emscripten可以将大多数C++代码编译到webassembly(WASM(,我问自己Qt for Webassembly的意义何在。 前者将保留C++代码的许可证(LGPL(,后者将需要根据GPL进行许可。

使用Emscripten编译Qt在技术上是否可行,所以我可以自由地避免GPL许可证?也许对Qt有更深入了解的人可能会解释WASM平台支持需要什么。

引擎盖下有一堆工作。窗口,WebGL,网络,浏览器集成,线程和许多其他涉及的东西。所有特定于平台的层都应该被移植,这就是为什么你不能简单地用Emscripten编译Qt。 使用支持文件搜索的编辑器,在整个Qt源代码目录中搜索wasmemscripten关键字,以了解应该进行多少更改才能使其工作。感谢Qt人员和开源社区。

简短的回答,是iOS的相同问题,因为它是静态链接的,理论上你应该通过提供某种中间二进制文件,然后其他人可以静态地将您的应用程序与不同版本的Qt二进制文件链接。GPL模块是整个Qt框架的简化集合。因此,总的来说,"您必须遵守Qt的LGPL 2.1许可条款,特别是根据其他开发人员的要求提供目标文件或指向与Qt静态链接的代码的目标文件的链接的条款。

最新更新