我正在尝试使用emscripten编译用于Web汇编的现有C ++项目。使用em ++,我能够生成LLVM IR位代码文件,但不能生成js / html。即当我尝试使用emcc project.bc -o project.html
时,出现以下错误:
LLVM ERROR: asm() with non-empty content not supported, use EM_ASM() (see emscripten.h)
shared:ERROR
搜索网络没有帮助。如何追溯此错误?请提供任何建议。
答案 0 :(得分:0)
您的代码似乎包含asm-declaration。这样可以将汇编代码直接嵌入到您的C ++代码中。
由于WebAssembly的工作方式不同,因此此汇编代码无用,这就是为什么编译器在找到非空asm()
语句时会抱怨(如果它们为空,则编译器会忽略它们)。
您可以尝试将此代码放入条件宏中,并查看生成的WebAssembly代码是否仍然有效。
#ifndef __EMSCRIPTEN__
asm( stuff here )
#endif