emscripten ASSERTIONS = 1生成链接器错误"在另一个模块中引用全局!"

时间:2017-03-07 11:35:41

标签: c++ linker emscripten

当我设置" -s ASSERTIONS = 1"然后链接器将失败,其中有很多"在另一个模块中引用全局!"消息,例如:

  

在另一个模块中引用global! [16 x i8] *   @ _ZZN8nlohmann10basic_jsonINSt3__23mapENS1_6vectorENS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEbxydS7_NS_14adl_serializerEE13escape_stringERKS9_E6hexify   ; ModuleID =   ' SRC / ui_lib /逻辑/ libcommands.bc'   [16 x i8] *   @ _ZZN8nlohmann10basic_jsonINSt3__23mapENS1_6vectorENS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEbxydS7_NS_14adl_serializerEE13escape_stringERKS9_E6hexify   ; ModuleID =   ' SRC / ui_lib / curves.bc'   在另一个模块中引用全局!   %" struct.ui :: EmscriptenBindingInitializer_uicurves" *   @ _ZN5boost6detail15optional_detail13none_instanceINS_6none_tEE8instanceE   ; ModuleID =   ' SRC / ui_lib /逻辑/ libcommands.bc'   %" struct.ui :: EmscriptenBindingInitializer_uicurves" *   @ _ZN5boost6detail15optional_detail13none_instanceINS_6none_tEE8instanceE   ; ModuleID =   ' SRC / ui_lib / curves.bc'

当我在多个翻译单元中使用nlohmann :: json(https://github.com/nlohmann/json)的实例时会发生这种情况。

这是一个错误还是一个功能?我该如何解决?