iPhone SDK3でビルドするとコンパイルエラーする


iPhone SDK 3でターゲットを「Simulator – 3.0|Debug」にしてビルドすると(プロジェクト名)_Prefix.pchファイルで以下のようなエラーが出ることがある。

error: syntax error before ‘AT_NAME’ token
error: syntax error before ‘}’ token
fatal error: method definition not in @implementation context

原因はコンパイラーのバージョンによってiPhone OS 3.0用実行ファイルのコンパイルができないようである。
回避方法は以下の通り。

1  XCodeのメニュー「プロジェクト」-「プロジェクト設定を編集」を選択する。
2  一番上のタブの「ビルド」を選択する。
3  「コンパイラのバージョン」項目を選択する。
4  「C/C++コンパイラのバージョン」の値を「GCC 4.0」にする。
5  「C/C++コンパイラのバージョン」が選択されている状態でウィンドウの左下隅にある歯車アイコンをクリックし、「ビルド設定条件を追加」メニューを選択する。
6  新しいエントリーが追加されるので一番左の項目をクリックし、「Device – iPhone 3.0」を選択する。そして一番右の項目をクリックし「GCC 4.2」を選択する。
7  もう一度5,6の作業をくりかえし、左の項目「Simulator – iPhone3.0」を選択し右の項目「GCC 4.2」を選択する。