Xcode 4.0.1 开始出现内部编译器错误。它只是说“总线错误”。它出现在我的一个 .m 文件的底部,该文件现在几乎有 4000 行长。
我看过这个问题 https://stackoverflow.com/questions/5042256/internal-compiler-error-bus-error,但我不会犯这个错误,当它出现时,我通常可以通过在某处添加一些随机代码行来修复它。当它第一次出现时,我追踪到我在一堆新代码中设置视图框架的位置:
view.frame = CGRectMake(otherView.frame.origin.x, 0, otherView2.frame.size.width, 40);
如果我用硬编码值替换 otherView 和 otherView2 引用,问题就消失了。或者如果我简单地说int x = 0;
越过违规线,它就消失了。
我也看过这个问题 https://stackoverflow.com/questions/5479451/internal-compiler-error-bus-error,但并没有明确的答案。它似乎不是任何单独的代码行;它似乎是随机出现的。谷歌没有我能找到的任何明确的解决方案。
我已经尝试过该项目的所有可能的编译器(GCC 4.2、LLVM GCC 4.2 和 LLVM 编译器 2.0),它们都有问题。我将静态分析器设置为运行每个构建,将其关闭并不会帮助。这个问题 https://stackoverflow.com/questions/212466/what-is-a-bus-error似乎表明这是编译器中的错误。我只是被困住了吗?有解决方法吗?
编辑:另一个例子:它再次发生,我追踪到:
[headerView centerViewVertically:milesLabel pixelsFromRight:pointLabel.frame.size.width + 20];
我把它改为:
int x = pointLabel.frame.size.width;
[headerView centerViewVertically:milesLabel pixelsFromRight:x + 20];
它又起作用了。