Я пытаюсь скомпилировать некоторый код на C ++ в двоичный файл wasm с включенными функциями.Однако, хотя я не получаю никаких ошибок компиляции или каких-либо других предупреждений во время компиляции, файлы, сгенерированные emscripten, не включают функции, которые я экспортировал с помощью "-s EXPORTED_FUNCTIONS = ['....']"
Вот файл с функциями, которые я хочу экспортировать: https://pastebin.com/B5w1R4BC
Вот команда компиляции, которую я использую:
em++ -s WASM=1 -s ALLOW_MEMORY_GROWTH=1 \
-Igameoflife/include -Os -DNDEBUG \
-s EXPORTED_FUNCTIONS="['_GOL_Instance_new', '_GOL_Instance_destroy', '_GOL_Init', '_GOL_Step', '_GOL_get_values']" \
-o gol.js gameoflife/src/cellmap.cpp bridge.cpp
, которая выполняется без проблем.
Однако, когда я импортирую «gol.js» в javascript, объект Module не имеет доступа ни к одной из функций, которые я пытаюсь включить (я жду, пока модуль инициализируется, прежде чем вызывать эти функции).
TypeError: Module._GOL_Instance_new is not a function
Почему я не могу получить доступ к этим функциям через wasm?