2010-09-11

iPhoneアプリ開発: g++-4.2 failed with exit code 1

ビルド失敗時に、次のエラーメッセージが出力された場合の対処方法のメモ。
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2 failed with exit code 1


方法1:

1. Xcodeの「ビルド」メニューから「すべてのターゲットをクリーニング」
2. プロジェクトを閉じる(Xcodeは閉じない)
3. 「Xcode」メニューから「キャッシュを空にする」
4. Xcodeを終了し,再起動する.

ビルドキャッシュのオーバフロー時には、これで解決するとのこと。

方法2:

同じ変数名で二重定義している可能性がある。その場合は変数名を違うものに変更する。

自身で実装した箇所以外にも、他所からライブラリをもってきた場合に注意。
こちらのページでは、これで解決したとのこと。

方法3:

1. 「プロジェクト <プロジェクト名> の情報」画面を開く(右図参照)
2. 「ビルド」タブを選択
3. 「設定」の「 Deployment 」グループ中の「 iOS Deployment Target 」の値が「 iOS3.0 」より上の場合、「 iOS3.0 」に変更する
4. プロジェクトの情報画面を閉じて、再ビルドする

「 iOS Deployment Target 」とは、サポート対象の OS バージョンのうち、最も低いバージョンを指定するための項目です。
(参考:iOS 4.0 と iPhone OS 3.x の両方で動作するアプリケーションをビルドする設定 - 24/7 twenty-four seven
この方法を記載した英語ページがあったのですが、URLを紛失してしまいました。そこに上のように iOS3.0 と記載してあったのですが、実際にはケースバイケースで 3.0 より上のバージョンにもできると思います。ちなみに私が先日この問題に遭遇した際は、 iOS3.1 ではビルド失敗、 iOS3.0 でビルド成功しました。

0 件のコメント: