iOS开发-illegal text-relocation错误解决

出现下列类似问题

这里写图片描述

Warning: 这个问题一般还是底层库lib的编译有问题,需要解决的同志还需要和底层同事协商解决

设置Build Settting ->Other linker flag-read_only_relocs suppress

这里写图片描述

当然,这只能强制忽略错误,错误还是在的,意味着当出现问题时,程序还是会崩溃

有兴趣的可以查下other linker flags 的各种命令含义,

-read_only_relocs suppress意思就是relocs(重定位) suppress(压制) ,不显示重定位错误

如果需要解决,那么armv7上32位的编译问题,上述的other linker就不要改了!,使用下面

尝试修改xcode中的Generate Position-Dependent Code

这里写图片描述

如果不能解决问题,修改Build Settings中的Strip style

这里写图片描述

将其置为Non-Global Symbols

如果不行的话多试下,All symbols是工程默认,动态库默认为DeBugging Symbols,意思是symbols需要加载以使用Debug模式下的各种错误日志信息,以及定位信息

官方文档中对Strip Style的描述:

Defines the level of symbol stripping to be performed on the linked product of the build. The default value is defined by the target's product type. [STRIP_STYLE]

All Symbols - Completely strips the binary, removing the symbol table and relocation information. [all, -s]

Non-Global Symbols - Strips non-global symbols, but saves external symbols. [non-global, -x]

Debugging Symbols - Strips debugging symbols, but saves local and global symbols. [debugging, -S]

一般来说,这个问题还是底层库lib的编译有问题,需要彻底解决还是需要底层库编译那里动手脚。例如底层lib库编译时有没有考虑该架构模式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值