我有一个特别讨厌的ld问题:我正在生成一个大型目标文件(一个“启动映像”,仅限armv7),后来被Xcode项目使用。
无论它有多大,都会成功创建boot-image.o.但是,在构建Xcode项目时,Xcode后来失败了:
ld: Unable to insert branch island. No insertion point available. for architecture armv7
此时要提几点:
考虑到上述情况,我认为我唯一的选择是在使用Xcode构建之前以某种方式将我的boot-image.o分割成几个对象。但是如何?
[1] http://docs.unity3d.com/412/Documentation/Manual/TroubleShooting.html
答案 0 :(得分:1)
我们刚刚在一个当前的Unity 3D项目中遇到了同样的问题。它似乎是唯一的选择,以获得"太大" .o文件下来。
您可以尝试以下方法(帮助我们很多):
根据架构/设置,限制似乎为14MB或30MB。 另见: http://www.opensource.apple.com/source/ld64/ld64-133.3/src/ld/passes/branch_island.cpp http://forum.unity3d.com/threads/unable-to-debug-on-device-ld-unable-to-insert-branch-island.148563/#post-1841860