我正在尝试将动态链接与 emscripten 和 embind 库一起使用。
侧模块是用构建的,-s SIDE_MODULE=1
而主模块是用-s MAIN_MODULE=1
. 一切都很好,直到我开始在一侧模块中使用嵌入。然后我有运行时错误,如下所述:
如果我根本不使用--bind
,我会得到:
external function '_emval_get_global' is missing
现在,如果我只用 构建侧模块--bind
,我会得到:
external function '_embind_register_void'
如果我只用 构建主模块--bind
,我会得到
BindingError: parameter 0 has unknown type N10emscripten3valE,BindingError
如果我用 构建两个模块--bind
,我得到
BindingError: Cannot register type 'void' twice
重要的 :
- 我的环境中有 EMCC_FORCE_STDLIBS=1。
- 使用的代码直接取自https://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/embind.html#using-val-to-transliterate-javascript-to-c
- 如果我将相同的代码放在main_module中,那么一切都很好(使用 --bind 选项)
任何想法 ?