我有一个名为12.c
的文件,其中包含引用Boehm垃圾收集器库的行gc.c
。
emscripten文档说必须首先将外部库编译为bitcode。所以我使用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
编译为bitcode并运行此命令:
a.out.js
这会收集警告:
missing function: llvm_objectsize_i64_p0i8
正在运行emcc
会给我WARNING:root:emcc: cannot find library "gc"
fatal error: 'gc/gc.h' file not found
。
我认为这与关于不直接使用clang的警告有关。
然而,当我尝试通过emcc
编译到bitcode时,它给了我一个解决方法并说
libgc
我做错了什么? Emscripten似乎在告诉我必须使用#each()
来编译async.whilst()
,但文档说我必须首先编译为bitcode。