Ich habe gerade auf Xcode Version 4.6.2 (4H10003) aktualisiert und versucht, ein zuvor funktionierendes Anwendungsprojekt im Simulator auszuführen. Dabei wurde der folgende Fehler angezeigt, und der Build ist fehlgeschlagen.
PCH-Datei, die aus einem anderen Zweig ((clang-425.0.27)) als der Compiler ((clang-425.0.28)) erstellt wurde
Was ist schief gelaufen und wie kann es behoben werden?
Antworten:
Reinigen Sie das Projekt. Halten Sie die Option gedrückt, damit Sie den gesamten Build-Ordner und die Zwischenprodukte bereinigen. Möglicherweise müssen Sie Xcode beenden und den gesamten Inhalt des DerivedData-Ordners von Hand im Finder wegwerfen, wie hier beschrieben: So leeren Sie Caches und bereinigen Sie alle Ziele Xcode 4
quelle
Gehen Sie zu Ihrem Projekt
Build Settings
, suchen Sie eine Einstellung mit dem NamenPrecompiled Headers Cache Path
und löschen Sie diesen Ordnerquelle
command+shift+k
Führen Sie eine Bereinigung mit dem vorhandenen Projekt durch und führen Sie es erneut aus.quelle
Ab XCode 4.6.2 Versionshinweise
Produkt ausführen> Reinigen
quelle
Ich habe alles oben Genannte versucht und es funktioniert gut über die Xcode-Benutzeroberfläche, aber es schlug immer noch fehl , als ich xcodebuild über die Befehlszeile ausführte .
Dies war auf Abhängigkeiten zu anderen Bibliotheken und deren vorkompilierten Headern zurückzuführen. Wenn es über die Befehlszeile ausgeführt wird, sieht es so aus, als würde xcodebuild vorkompilierte Header von hier speichern / lesen:
Nach dem Bereinigen dieses Ordners war xcodebuild erfolgreich.
quelle
sudo find /private/var/folders -name SharedPrecompiledHeaders
und leerte dann die resultierenden Verzeichnisse aus. Lief wie am Schnürchen.Insbesondere wenn Sie über die Befehlszeile erstellen oder über ein Erstellungsskript verfügen, reicht das Bereinigen des xcode-Ziels nicht aus. Sie müssen diesen Ordner löschen.
Die genaue Position des vorkompilierten Headers finden Sie im Projekt. Ein Teil des Ordnerpfads ist zufällig (glaube ich), insbesondere nach /var/folders/xx..xxx/C.
Führen Sie Terminal aus, gehen Sie in diesen Ordner und löschen Sie (Befehl verwenden).
quelle
Ich musste
~/Library/Developer/Xcode/DerivedData/
Clean manuell löschen. Das hat bei mir nicht funktioniert.quelle
Verwenden Sie "Befehl + Umschalt + k", um Ihr Projekt zu bereinigen, dann ist alles in Ordnung.
quelle
Bereinigen Sie Ihr Projekt und führen Sie es aus
Produkt-> Reinigen, dann ausführen.
quelle