刚升级到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.