134

でアプリをビルドしようとすると、次のXcodeエラー メッセージが表示されます。

コンパイラ ((clang-425.0.27)) とは異なるブランチ ((clang-425.0.24)) から構築された PCH ファイル

以前はありませんでしたが、これは Xcode を更新した後の最初のビルドでした。

他のアプリは機能しますが、この特定のアプリは機能しません。

"Precompile Prefix Header"設定をオフにすると動作します。

このエラーを修正し、その設定を維持するにはどうすればよいですか?

4

22 に答える 22

249

これは多くの場合、キャッシングの問題です。通常、Optionキーを押しながらProduct > Clean Build Folder...を選択することで解決できます。

于 2013-03-17T16:31:16.787 に答える
39

Product > Clean Build Folder... (Option キーを押した状態で) は、ほとんどの人にとって機能するようです。@gaige が選択した回答を参照してください。

ほとんどの人とは異なり (私も含めて)、それでも問題が発生する場合は、XCode が共有のプリコンパイル済みヘッダーを別の場所に残している可能性があります。私にとって、それらは次のようなフォルダーにありました。

/var/folders/<some random two characters>/<some random string>/C/com.apple.Xcode.502/SharedPrecompiledHeaders

SharedPrecompiledHeaders フォルダー全体を削除したところ、問題が解決しました。ここではあまり触れませんが...

于 2013-03-19T20:54:17.343 に答える
13

Finder のプロジェクトの場所からフォルダーBuildとフォルダーを削除するとうまくいきました。DerivedData

于 2015-05-15T18:42:46.030 に答える
6

Xcode をアップグレードした後、複数のプロジェクトでこれを取得していました。Clean Build Folder と Clean は効果がありませんでした - @sedes answer と @josema.vitaminew のコメントは私のためにそれをしました。ただし、少し狡猾にならないと難しい場合があります。手順を簡単に説明すると次のようになります。

  1. 失敗したビルド ログに移動します
  2. cmd-f "SharedPrecompiledHeaders" を使用して見つけます (非常に複雑なコマンドラインの途中になります)。
  3. テキスト「Sh​​aredPrecompiledHeaders」とすべての文字をドラッグして選択し、そのパスビットの開始点(まだ大きなテキストブロックの真ん中にあります)に到達するまで、その前にすべての文字を選択します(例:「/var/folders/03」) /n71d4r551jv40j5nb8r9fjy80000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
  4. ファインダーを開く
  5. メニュー: 移動 -> フォルダに移動...
  6. 選択したパスをコピー/貼り付け
  7. 「SharedPrecompiledHeaders」ですべてのサブフォルダーを削除します(これは安全です。キャッシュされたデータのみです)

...これで、すべてのプロジェクトが「修正済み」になりますが、最初はキャッシュなしで再ビルドする必要があります (そのため、次のビルドのみが通常より遅くなります)。

于 2013-05-14T15:39:37.060 に答える
5

私の場合、この方法でSharedPrecompiledHeadersの下にあるすべてのファイルを削除すると、すべてが正常に機能し始めました。

sudo find /var/folders/ -type d -name "SharedPrecompiledHeaders" | xargs -n 1 -I dir sudo find dir -name \* -type f -delete
于 2014-10-14T18:25:55.233 に答える
3

クリーニングで解決しない場合。これはビルド キャッシュの問題です。Option キーを押しながら、[製品] > [ビルド フォルダーのクリーンアップ] に移動します。それは私の問題を解決しました。

于 2013-03-22T07:04:50.577 に答える
3

私の場合、Xcode はプロジェクトのメイン バンドル (/Users/Path_to_your_project_source_code/YourProjectName/DerivedData) に DerivedData フォルダーを作成していました。

このフォルダーをソース コード バンドルから削除したところ、現在は機能しています。

確認するには Xcode の [設定] -> [場所] に移動し、DerivedData が [相対] に選択されているかどうかを確認します。下の写真を見てください ここに画像の説明を入力

于 2016-08-20T05:32:55.793 に答える
2

製品またはビルドフォルダをクリーンアップしてみてください。

SHIFT+ COMMAND+K

OPTION+ SHIFT+ COMMAND+K

于 2013-03-23T19:01:30.983 に答える
2

「shift+command + C」を押し続けると、ビルドが成功します

于 2013-03-20T05:49:29.987 に答える
2

派生データのクリーニングや削除はうまくいきませんでした。うまくいったのは、.pchファイルに触れたり保存したり(文字を追加してから削除したり)して、強制的に再構築することです。これでうまくいきました。

于 2013-04-01T15:23:02.430 に答える
2

更新しました

これは私にとって完璧に機能しました:

  • プロジェクトまたはワークスペースを閉じます。
  • Finder で: ⇧shift+⌘cmd+G
  • 貼り付け: ~/Library/Developer/Xcode/DerivedData/
  • ModuleCache フォルダーを削除し、ゴミ箱を空にします。
  • プロジェクトを開きます。
  • 消去: ⇧shift+⌘cmd+K
  • ビルド: ⌘cmd+B

xCode 7.3.1
リファレンスはこちら

于 2016-06-22T08:40:56.387 に答える
2

クリーン ビルドを実行してもうまくいかない場合は、PCH ファイルを探して、PCH ファイル/var/folders/../SharedPrecompiledHeadersを削除してください。

于 2013-04-19T06:16:06.410 に答える
1

プロジェクトのクリーニングとビルドフォルダーのクリーニングを試みましたが、どちらも機能しませんでした。

その後、xCode を完全に終了し、標準の場所 (~/Library/Developer/Xcode/DerivedData) にある派生データ フォルダーを削除し、xCode を再度起動してプロジェクトをビルドしました。

それは私にとって問題を解決したように見えました。

于 2015-12-10T08:33:51.600 に答える