背景
电脑升级MacOS 26.0,新增了一个SDK后,Xcode26 Beta5和Beta6,编译项都报错,提示:Assertion failed: (it != _dylibToOrdinal.end()), function dylibToOrdinal, file OutputFile.cpp, line 5196.
排查过程
- 在StackOverFlow上有看到说
ENABLE_DEBUG_DYLIB=NO
,尝试后无效果 - 在Xcode 26 Link Error中看到,Apple官方人员的回复,要添加
-Xlinker -dead_strip -Xlinker -allow_dead_duplicates
.
解决办法
通过 Other Linker Flags 修改
进入 Target 的 Build Settings 标签:
选中 Target → Build Settings → 搜索 Other Linker Flags。
手动修改链接参数:
点击 Other Linker Flags,首先移除
1 | -ld64 |
然后添加
1 | -Xlinker |
最终解决了问题。