Компиляция libgc с помощью emscripten
У меня есть файл с именем foo.c
который содержит строку #include <gc.h>
, ссылаясь на библиотеку сборщика мусора Boehm.
Документация emscripten гласит, что внешние библиотеки должны быть сначала скомпилированы в битовый код. Поэтому я собрал оба 12.c
а также gc.c
использовать битовый код clang
и запустил эту команду:
emcc 12.c gc.c
Это компилируется с предупреждениями:
warning: incorrect target triple 'x86_64-apple-macosx10.11.0' (did you use emcc/em++ on all source files and not clang directly?)
warning: unresolved symbol: llvm_objectsize_i64_p0i8
Бег a.out.js
дает мне missing function: llvm_objectsize_i64_p0i8
,
Я предполагаю, что это связано с предупреждением о том, чтобы не использовать Clang напрямую.
Тем не менее, когда я пытаюсь скомпилировать в битовый код через emcc
это дает мне отбой и говорит
WARNING:root:emcc: cannot find library "gc"
fatal error: 'gc/gc.h' file not found
Что я делаю неправильно? Emscripten, кажется, говорит мне, что я должен использовать emcc
Скомпилировать libgc
но документация говорит, что я должен сначала скомпилировать в битовый код.