У меня есть сборка C ++ от emscripten, в которой я создаю несколько библиотек ".a" в сборках с использованием утилиты emar.В паре библиотек у меня есть несколько объявлений
extern "C" {
void funcToExportToJavascript(int arg) {
...
}
}
.
Я "связываю" все объекты и libXXX.a в конечный модуль .wasm + .html +.js, используя emcc, а также передайте ему файл exports.txt, содержащий символы, которые я хочу экспортировать из библиотек.
emcc не находит «экспортированные символы» в библиотеках.Если я не экспортирую символы из библиотек, «link / optimize» будет успешным, и весь код C ++ получит все свои символы из библиотек, и все будет работать так, как ожидается.Все символы, «экспортированные» из «объектных» файлов, переданных в окончательную ссылку, содержащуюся в конечных отдельных объектных файлах, найдены.
Единственный выход для меня - извлечь все объектные модули из библиотек во временную область.и добавить потом добавить их в финальную ссылку индивидуально?Есть ли способ использовать «emcc» для создания библиотеки с экспортированными символами?
Приведет ли это к раздуванию кода, если в действительности используются только несколько символов в библиотеках, и они не все представлены как LLVM '.bc'битовый код?