Emscripten: «неопределенный символ» при вызове JavaScript из C / C ++;ERROR_ON_UNDEFINED_SYMBOLS не работает - PullRequest
0 голосов
/ 05 марта 2019

На самом деле у меня два вопроса, потому что обычный обходной путь для моей первоначальной проблемы не работает:)

Я пытаюсь создать библиотеку на основе 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 работать на меня?
  • и почему я получаю это предупреждение в первую очередь? как мне от этого избавиться?
...