升级Xcode 15后,出现大量Duplicate symbols问题

https://developer.apple.com/forums/thread/731090

升级到Xcode 15后,原先Xcode14可以编译的项目出现大量Duplicate symbols,且引用报错指向同一个路径(一般为Framework)下的同一个文件。经过查找相关解决,可通过添加设置改正。

✅解决方案:

Xcode -> Target -> Build Setting -> Other Linker Flags 添加一行"-ld64" 即可解决该问题

原因:

复制代码
Xcode 15 beta includes a new linker, known as `ld_prime`. This has a bunch of benefits, not least being the support for mergeable libraries, per WWDC 2023 Session 10268 [Meet mergeable libraries](https://developer.apple.com/videos/play/wwdc2023/10268/). However, any time you rewrite something that complex you inevitably run into the odd issue. Normally I'd suggest you file a bug about this, but we already have a bug report about this one (r. 110340167).

In the meantime, you should be able to work around it by reverting to the old linker. The linker has two options, `-ld64` and `-ld_prime`, that override its default algorithm for choosing a back end.

Xcode 15测试版包含一个新的链接器,称为ld_prime。根据WWDC 2023 Session 10268 Meet mergeable libraries,这有很多好处,尤其是支持可合并库。然而,每当你重写如此复杂的东西时,你不可避免地会遇到奇怪的问题。通常我建议你提交一个关于这个的bug,但我们已经有了关于这个bug的报告(r.110340167)。

同时,✅您应该能够通过恢复到旧的链接器来解决它✅。链接器有两个选项,-ld64-ld_prime,它们覆盖了用于选择后端的默认算法。

添加设置可以选择使用旧的链接器 而不是默认的新的 -ld_prime 链接器。

⚠️警告:
-ld64 is deprecated, use -ld_classic instead

报警告,换成下面方案:

Xcode -> Target -> Build Setting -> Other Linker Flags 添加一行"-ld_classic" 即可解决该问题

相关推荐
开开心心loky22 分钟前
[iOS] GCD - 线程与队列
macos·ios·objective-c·cocoa
冷冷的菜哥3 小时前
21款m1 max升级到macOS 14——Sonoma
macos·苹果·sonoma·macos系统升级
laocaibulao3 小时前
mac电脑composer命令如何指定PHP版本
macos·php·composer
00后程序员张3 小时前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone
Trouville014 小时前
如何在VScode环境下使用git进行版本控制,并上传到gitee远程仓库
ide·git·vscode
逐步前行5 小时前
C/C++图形库_EasyX 环境配置(VSCode+MinGW )
ide·vscode·编辑器
推理幻觉5 小时前
IDE/编码代理架构与 Cursor 相关研究(汇总)
ide·人工智能·架构·agent
正经教主5 小时前
【咨询】Android Studio 第三方手机模拟器对比【202511】
android·ide·android studio
fukai77227 小时前
OmniFocus:专为 macOS 与 iOS 打造的专业级任务管理利器
macos·ios
名剑走天下8 小时前
在 VSCode 中:修改快捷键
ide·vscode·编辑器