更新了 Xcode 26 后编译报错:
ld: Assertion failed: (it != _dylibToOrdinal.end()), function dylibToOrdinal, file OutputFile.cpp, line 5196. clang: error: linker command failed with exit code 1 (use -v to see invocation)
检查了所有库也都支持 arm64,一顿鼓捣后解决方案如下:
解决办法
- 在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,首先移除
-ld64
-ld_classic
然后添加
-Xlinker
-dead_strip
-Xlinker
-allow_dead_duplicates
注意⚠️:如果打开后没有-ld64,但是外面能看到-ld64,尝试把$(inherited)删除。
————————————————
希望后人珍惜时间,少走弯路,享受生活。
VKOOY