Emscripten не связывается со статической библиотекой

У меня есть программа, которую я хотел бы кросс-компилировать через Emscripten. Поэтому я создал статическую библиотеку foo_core и теперь попробуйте связать его с HTML-страницей через:

$ em++ -std=c++11 -s VERBOSE=1 main.cpp.o -o example.html libfoo_core.js
VERBOSE is on, this generates a lot of output and can slow down compilation
adding ___cxa_atexit and deps atexit
adding _atexit and deps
warning: unresolved symbol: _Z12fooiiii

Теперь я, конечно, потом пытаюсь выяснить, почему _Z12fooiiii пропал, отсутствует. В итоге делаем:

$ grep -r _Z12fooiiii *
example.html: __Z12fooiiii(50, 50, 50, 255);
libfoo_core.js:,0,__Z12fooiiii,0,__ZNSt3__16locale5facetD2Ev,0,__ZTv0_n12_NSt3__113basic_istreamIwNS_11char_traitsIwEEED1Ev,0,__ZNSt3__112system_errorD0Ev
libfoo_core.js:function __Z12fooiiii($r, $g, $b, $a) {

показывает, что функция на самом деле присутствует в libfoo_core.js,
Так что я сейчас в замешательстве и буду очень признателен, если кто-нибудь объяснит мне, почему это не работает.

1

Решение

Это работает, если вы компилируете битовый код И у библиотеки достаточно .bc (например. libfoo_core.bc)!

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector