На самом деле у меня два вопроса, потому что обычный обходной путь для моей первоначальной проблемы не работает:)
Я пытаюсь создать библиотеку на основе Emscripten, которая вызывает функции JavaScript, как описано здесь: https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html#implement-a-c-api-in-javascript
Проще говоря, я просто реализую свой код C / C ++ для C-функции, реализую эту функцию в файле .js
и «связываю» этот файл, используя --js-library
.
В основном у меня все работает, за исключением версии EMSDK версии 1.38.12. При связывании конечной библиотеки я получил предупреждение:
warning: undefined symbol: foo_
.. чего я не понимаю, но я мог бы просто проигнорировать это. В более новых версиях EMSDK поведение изменилось, и предупреждения стали ошибками.
При поиске этой ошибки вы можете просто добавить -s ERROR_ON_UNDEFINED_SYMBOLS=0
при компоновке, но это не работает (для меня) - я все еще получаю эту ошибку, несмотря на то, что вижу эту опцию добавленной в компоновщик.
Итак, мои вопросы:
- как мне заставить
-s ERROR_ON_UNDEFINED_SYMBOLS=0
работать на меня?
- и почему я получаю это предупреждение в первую очередь? как мне от этого избавиться?