xcode4 – XCode 4.2 clang seg fault

刚升级到Lion和
xcode 4.2.现在,当我重新编译我的程序时,我收到了以下错误:

> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1806:35:当前解析器标记’;’
> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1762:1:解析Objective-C方法’updateWithTouchLocationMoved:withEvent:view:’
> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1762:1:在复合语句中(‘{}’)
> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1771:2:在复合语句中(‘{}’)
> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1789:3:在复合语句中(‘{}’)
> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1796:4:在复合语句中(‘{}’)
> /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1799:5:在复合语句中(‘{}’)
clang:错误:无法执行命令:分段错误:11
clang:错误:clang frontend命令因信号2失败(使用-v查看调用)

这些行号周围没什么奇怪的.没有复合语句,只是简单的if(a == b)类型的东西.一些错误行号甚至不在语句上,只是空行或{括号.我怀疑行号不准确.现在我有点死在水里.代码在4.1下编译得很好.

有什么建议?

最佳答案 我阻止编译器崩溃.在逐行注释掉代码行以查看实际发生的位置后,我到达了这一行:

shape.shapeType |= kTypeBreakable;

做…

shape.shapeType = shape.shapeType | kTypeBreakable;

…编译好. ……也是……

shape.shapeType |= 0x00000200;

kTypeBreakable是一个设置为0x00000200的枚举

shapeType只是一个具有getter / setting的obj-c对象变量.

很奇怪的编译器bug.

点赞