diff --git a/lib/Projectrans/Phase2Translator.py b/lib/Projectrans/Phase2Translator.py index 24208bd..3f1b8fc 100644 --- a/lib/Projectrans/Phase2Translator.py +++ b/lib/Projectrans/Phase2Translator.py @@ -2405,7 +2405,8 @@ class Phase2Translator: _combined_extern[_node.name] = _sha1_key except Exception: continue - trans.translator._export_extern_funcs = _combined_extern + trans.translator._export_extern_funcs.clear() + trans.translator._export_extern_funcs.update(_combined_extern) if self._shared_generic_class_templates: if not hasattr(trans.translator.ClassHandler, '_generic_class_templates'): trans.translator.ClassHandler._generic_class_templates = {} @@ -2427,7 +2428,7 @@ class Phase2Translator: raise _vlog().warning(f"收集导出外部函数声明失败: {_e}", "Exception") if export_extern_funcs: - trans.translator._export_extern_funcs = export_extern_funcs + trans.translator._export_extern_funcs.update(export_extern_funcs) for includes_dir in self.include_dirs: if os.path.isdir(includes_dir):