web-dev-qa-db-ja.com

Xcodeバージョン4.6.2(4H1003)コンパイラエラー

Xcodeバージョン4.6.2(4H10003)に更新したばかりで、以前に動作していたアプリケーションプロジェクトをシミュレータで実行しようとすると、次のエラーが発生し、ビルドに失敗しました。

コンパイラー((clang-425.0.28))とは異なるブランチ((clang-425.0.27))からビルドされたPCHファイル

何がうまくいかず、どうすれば修正できますか?

86
OscarTheGrouch

プロジェクトのクリーンを行います。 Optionを押したままにして、ビルドフォルダーと中間体全体を削除します。ここで説明するように、Xcodeを終了し、FinderでDerivedDataフォルダーの内容全体を手で捨てる必要がある場合があります。 キャッシュを空にしてすべてのターゲットをクリーンアップする方法Xcode 4

182
matt

プロジェクトのBuild Settingsに移動し、Precompiled Headers Cache Pathという名前の設定を見つけて、そのフォルダーを削除します

21
sycx

command+shift+kを使用してクリーンアップを実行し、既存のプロジェクトを再度実行します。

enter image description here

12
Vaibhav Saran

XCode 4.6.2リリースノート から

既知の問題点

建物

Xcode 4.6.1以前でビルドされた製品をビルドすると、ビルドは次のようなエラーで失敗します。

コンパイラー((clang-425.0.28))とは異なるブランチ((clang-425.0.27))からビルドされたPCHファイル

この問題に対処するには、製品をビルドする前に[製品]> [クリーン]を選択します。 13663167

製品の実行>クリーンワーク

9

上記のすべてを試してみましたが、Xcode UIからは正常に動作しますが、xcodebuild from command lineを実行したときはまだ失敗していました。

これは、他のライブラリとそのプリコンパイルヘッダーへの依存関係が原因でした。コマンドラインから実行すると、xcodebuildは次のようにプリコンパイル済みヘッダーを保存/読み取りします。

/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.Apple.Xcode.501/SharedPrecompiledHeaders

そのフォルダーをクリーンアップした後、xcodebuildは成功しました。

9
Rodrigo Lima

特に、コマンドラインからビルドする場合、またはビルドスクリプトがある場合は、xcodeターゲットをクリーニングするだけでは不十分です。このフォルダを削除する必要があります。

プリコンパイル済みヘッダーの正確な場所はプロジェクト内で確認できます。フォルダーパスの一部はランダムです(推測)、特に/var/folders/xx..xxx/Cの後です。

Target -> build settings => "Build locations" -> Precompiled headers cached path

ターミナルを実行し、このフォルダーに移動して削除します(コマンドを使用)。

#rm -fr SharedPrecompiledHeaders

enter image description here

4
karim

手動で削除する必要があった~/Library/Developer/Xcode/DerivedData/掃除は私にはうまくいきませんでした。

4
orkoden

「command + shift + k」を使用してプロジェクトをクリーンアップすれば、問題ありません。

0
Yiyue Wang

プロジェクトをきれいにして実行する

製品->クリーン、そして実行。

0
Vineesh TP