Как связать сторонние библиотеки в проекте Qt, предназначенном для WebAssembly (Wasm) - PullRequest
1 голос
/ 25 мая 2019

У меня большой проект C ++ / Qt, в котором для сборки используется CMake, который не поддерживается Qt при нацеливании на Wasm https://wiki.qt.io/Qt_for_WebAssembly (теперь поддерживается только qmake).

Этот проектв зависимости от нескольких сторонних библиотек, особенно yaml-cpp, который также использует cmake.

Я могу создать файл проекта Qt вместо CMake, но он будет охватывать только мое приложение, а не стороннююбиблиотеки, использующие CMake.Если бы я нацелился на какую-то более распространенную платформу, такую ​​как Linux или Windows, я бы мог просто скомпилировать сторонние библиотеки в виде динамических библиотек (.so или .dll), а затем связать с ними свое приложение, но я понятия не имею, как это сделать.это в мире Wasm.

Есть ли способ связать или встроить третью библиотеку в выходной двоичный файл Wasm?Я полагаю, мне нужно было бы скомпилировать yaml-cpp в сам Wasm, а затем каким-то образом связать эти 2 объекта Wasm?

Кто-нибудь когда-нибудь преуспел в этом?Возможно ли это еще?

1 Ответ

0 голосов
/ 26 мая 2019

Насколько я понимаю, вам придется собирать сторонние библиотеки для wasm. Браузеры могут безопасно выполнять wasm в хорошей безопасной песочнице, но разрешение выполнения произвольного кода в DLL полностью нарушит эту безопасность.

...