2011-10-14 117 views
4

剛剛升級到Lion和xcode 4.2。現在,當我重新編譯我的節目,我收到這些錯誤:XCode 4.2 clang seg fault

  1. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1806:35: current parser token ';'
  2. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1762:1: parsing Objective-C method 'updateWithTouchLocationMoved:withEvent:view:'
  3. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1762:1: in compound statement ('{}')
  4. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1771:2: in compound statement ('{}')
  5. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1789:3: in compound statement ('{}')
  6. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1796:4: in compound statement ('{}')
  7. /Users/XXX/Code/iPhone/XXX/Code/Scenes/GameScene.mm:1799:5: in compound statement ('{}')
    clang: error: unable to execute command: Segmentation fault: 11
    clang: error: clang frontend command failed due to signal 2 (use -v to see invocation)

沒有什麼奇怪圍繞這些行號怎麼回事。沒有複合語句,如果(a == b)類型的東西只是簡單的。某些錯誤行號甚至不在語句中,只是空行或{大括號。我懷疑行號不準確。我現在有點死在水裏。代碼在4.1下編譯好。

有什麼建議嗎?

+0

可能屬於超級用戶 - 不是真正的編程問題,只是程序失敗恰好是一種編程工具。 – millimoose

+0

@Inerdia,編程工具問題在這裏是主題:[...如果您的問題一般涵蓋...程序員常用的軟件工具](http://stackoverflow.com/faq#questions) – sarnold

回答

2

我停止了編譯器崩潰。註釋掉的代碼行線後,看到這實際上發生後我到達這條線:

shape.shapeType |= kTypeBreakable; 

做...

shape.shapeType = shape.shapeType | kTypeBreakable; 

...編譯罰款。所以呢......

shape.shapeType |= 0x00000200; 

kTypeBreakable是設置爲0x00000200

shapeType枚舉只是一個對象 - 對象變量有一個getter /設置。

非常非常奇怪的編譯器錯誤。

+0

如果你是有興趣修復此問題,請在bugreporter.apple.com上提交報告。 – servn

+0

已經提交了一個錯誤報告。 –