ld: object file ???.o was built

2024-05-23  本文已影响0人  超哥__

错误: ld: object file ???.o was built with invalid arm64e ABI (128)
原因: XCode11混合链接XCode12+产生的二进制

经测试有如下规律

XCode11/clang11 arm64e 生成二进制cpu_sub_type=2 (iOS12-13)
XCode12+/clang12+ arm64e 生成二进制cpu_sub_type=0x80000002 (iOS14+)

可以看出cpu_sub_type=2是苹果的一个设计bug,在iOS14后改为0x80000002且兼容旧版的2
同时也可以证明iOS12-13是XCode11-开发的,iOS14+是XCode12+开发的

上一篇 下一篇

猜你喜欢

热点阅读