iOS平台下使用HybridCLR在Unity中打包XCode项目时出现3159 duplicate symbols错误
Closed this issue · 5 comments
cr-zhichen commented
描述问题
在Unity中创建新场景,并引入HybridCLR后,直接打包为XCode项目时,在XCode打包运行过程中报错:"3159 duplicate symbols"。在打包前已经执行了HybridCLR/Installer与HybridCLR/Generate/All步骤,并且在MacOS与Windows平台下都尝试进行了IOS打包,均出现此问题。
环境
- Unity版本:2022.3.17f1c1
- com.code-philosophy.hybridclr版本:5.2.1
- 平台:iOS
- 开发环境:MacOS/Windows,XCode 15.3 (15E204a)
复现步骤
- 在Unity中创建一个新场景。
- 引入HybridCLR。
- 执行HybridCLR/Installer与HybridCLR/Generate/All步骤。
- 直接在Unity中打包生成XCode项目。
- 在XCode中尝试构建并运行项目。
- 观察到错误提示:“3159 duplicate symbols”。
期望的结果
期望在执行上述步骤后,能够在XCode中成功构建并运行项目,而不会出现duplicate symbols错误。
补充信息
在不同的操作系统(MacOS和Windows)上都进行了尝试,错误均一致,表明问题可能与操作系统环境无关。
cr-zhichen commented
在m1 mac上,本机测试可以正常编译,使用模拟器出现上述问题,我看到在Unity中,目标SDK如果选择为Simulator SDK后,下方架构将自动设置为x86_64,请问是否不支持使用这种方式编译,并在虚拟机调试?
pirunxi commented
跟这个无关,你截出几个重复符号的日志
cr-zhichen commented
pirunxi commented
导出工程时理论上要会移除libil2cpp.a,但你工程中仍然还有libil2cpp.a,导致符号重复了。这个问题理论上有一些xcode工程知识可以解决,你研究一下。 我们会查一下这个问题。
pirunxi commented
此问题是某些情况下,导出工程时修改xcode工程发生错误导致的,最新版本已经解决了此问题。