diff --git a/lib/Projectrans/Phase2Translator.py b/lib/Projectrans/Phase2Translator.py index 42322f4..2b5e6f2 100644 --- a/lib/Projectrans/Phase2Translator.py +++ b/lib/Projectrans/Phase2Translator.py @@ -1561,7 +1561,10 @@ class Phase2Translator: old_stub_count = len(self.stub_files) old_sig_count = len(self.sig_files) self.stub_files = {k: v for k, v in self.stub_files.items() if k in valid_sha1s} - self.sig_files = {k: v for k, v in self.sig_files.items() if k in valid_sha1s} + # sig_files 不能按 sha1_map(仅 App 源文件)过滤:include 模块的 .vpi + # 也必须保留,否则跨模块 extern(ReadProcessMemory / StackWalk64 等) + # 无法识别为裸名,链接时报 undefined symbol。 + self.sig_files = {k: v for k, v in self.sig_files.items() if os.path.isfile(v)} if old_stub_count != len(self.stub_files) or old_sig_count != len(self.sig_files): _vlog().info(f"过滤旧文件: stub {old_stub_count}->{len(self.stub_files)}, sig {old_sig_count}->{len(self.sig_files)}")