我有一个名为的文件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
,但文档说我必须先编译为位码。