Kiedy próbuję zbudować moją aplikację Xcode
, pojawia się ten komunikat o błędzie:
Plik PCH zbudowany z innej gałęzi ((clang-425.0.24)) niż kompilator ((clang-425.0.27))
Wcześniej się to nie zdarzało, ale była to pierwsza kompilacja po aktualizacji Xcode.
Inne aplikacje działają, ale nie ta konkretna.
Jeśli wyłączę "Precompile Prefix Header"
ustawienie, działa.
Jak naprawić ten błąd i nadal zachować to ustawienie?
xcode
clang
precompiled-headers
Makro206
źródło
źródło
Product
>Clean
i nie potrzebowałem klawisza polecenia. (Xcode 4.6.1)Product > Clean
, ale wykonuje mniej dokładną pracę. Niektórzy ludzie mogą kupić za pomocąProduct > Clean
, dla większościProduct > Clean Build Folder...
jest to wystarczające, a inni potrzebują ręcznego usuwania, jak wskazano w odpowiedzi @Sedes poniżej.Usuń
DerivedData
folder projektu. Zajrzyj do preferencji Xcode -> Lokalizacje, aby zobaczyć, gdzie go zapisujesz.źródło
DerivedData
niekoniecznie jest to miejsce, w którym znajduje się twójBuild
folder, to mi bardzo pomogło, dzięki!moduleCache
wewnątrzDerivedData
zbytDerivedData
folder… „nuke z orbity… jedyny sposób, aby mieć pewność”. @whitelionV to również rmmoduleCache
i wszystko inne tam.Wygląda na to, że produkt> Clean Build Folder ... (z wciśniętym klawiszem Option) działa dla większości ludzi. Zobacz wybraną odpowiedź autorstwa @gaige.
Jeśli nie jesteś podobny do większości ludzi (łącznie ze mną) i nadal powoduje to kłopoty, XCode prawdopodobnie zostawił twoje współdzielone, prekompilowane nagłówki gdzie indziej. U mnie były w folderze podobnym do tego:
Właśnie usunąłem cały folder SharedPrecompiledHeaders i to rozwiązało problem. Nie chciałbym tu jednak dotykać zbyt wiele ...
źródło
Shift-Cmd-G
i wpisz/var
Przejdź do Preferencje Xcode-> Lokalizacje (jak wspomniano w odpowiedzi przez wcochran) i po prostu zmień nazwę swojego folderu DerivedData. Po prostu zmieniłem mój z „DerivedData” na „DerivedData2”, co zmusiło system do zaprzestania odwoływania się do starej lokalizacji. To rozwiązało problem, gdy żadna z pozostałych odpowiedzi nie zadziałała. Zobacz zdjęcie:
źródło
Żadna z innych opcji nie działała dla mnie, oto co to naprawiło:
Usunąłem folder pamięci podręcznej w
/Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/
(zmiana nazwy też działa).Spróbuj usunąć folder wymieniony w błędzie, jeśli twój błąd wygląda mniej więcej tak:
PCH was compiled with module cache path '/Users/User/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8', but the path is currently '/Users/Stan/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8
źródło
Usunięcie folderów
Build
iDerivedData
z lokalizacji projektu w Finderze działało dla mnie.źródło
.build
folder dla niektórych osób (w tym dla mnie)W katalogu projektu ios przejdź do budowania i usuwania folderu ModuleCache . Uruchom
react-native run-ios
ponownie, powinno działać zgodnie z oczekiwaniami. Podsumowanie -rm -rf ios/build/ModuleCache
źródło
Po aktualizacji Xcode otrzymywałem to z wieloma projektami. Clean Build Folder i Clean nie przyniosły żadnego efektu - odpowiedź @sedes i komentarz @ josema.vitaminew zrobiły to za mnie. Ale może to być trudne, chyba że użyjesz odrobiny sprytu, więc oto skrót krok po kroku:
... a teraz wszystkie twoje projekty zostaną „naprawione”, ale za pierwszym razem będą musiały zostać odbudowane bez buforowania (więc TYLKO NASTĘPNA kompilacja będzie wolniejsza niż normalnie).
źródło
w moim przypadku pozbyłem się wszystkich plików z SharedPrecompiledHeaders w ten sposób i wszystko zaczęło działać dobrze:
źródło
Napotkałem ten błąd podczas próby zbudowania projektu za pomocą Swift Package Manager.
Rozwiązaniem jest po prostu usunięcie
.build
katalogu.źródło
Szczególnie, jeśli budujesz z wiersza poleceń lub masz skrypt kompilacji, wyczyszczenie celu xcode nie wystarczy. Usunąłeś ten folder.
Prekompilowaną lokalizację nagłówka można znaleźć w pliku
Usuń ten folder za pomocą,
źródło
Jeśli nie zostanie rozwiązany przez czyszczenie. Jest to problem z pamięcią podręczną kompilacji - przytrzymaj klawisz Option i przejdź do pozycji Produkt> Wyczyść folder kompilacji. To rozwiązało mój problem.
źródło
W moim przypadku Xcode tworzył folder DerivedData w głównym pakiecie mojego projektu (/ Users / Path_to_your_project_source_code / YourProjectName / DerivedData)
Właśnie usunąłem ten folder z mojego pakietu kodu źródłowego i teraz działa.
Aby sprawdzić Idź do Preferencje Xcode-> Lokalizacje i sprawdź, czy wybrano DerivedData na „Względne”. Zobacz zdjęcie poniżej
źródło
U mnie tak się dzieje zawsze, gdy kopiuję projekt w inne miejsce. Zrobiłbym to, aby wrzucić to do repozytorium lub coś w tym stylu.
Muszę usunąć folder Build (rm -rf Build /) w starej i nowej lokalizacji, aby działał. Ma to sens, ponieważ folder Build będzie zawierał dane nieistotne dla nowej lokalizacji.
Czyszczenie danych pochodnych lub usuwanie folderów sharedPrecompiledHeaders tak naprawdę nie robiło tego w tym przypadku.
źródło
powinieneś przytrzymać "shift + command + C", a wtedy zbudujesz pomyślnie
źródło
Czyszczenie i / lub usuwanie danych pochodnych nie działa dla mnie. To, co zadziałało, to dotknięcie / zapisanie pliku .pch (dodaj znak, a następnie usuń go), aby wymusić jego odbudowę. To załatwiło sprawę.
źródło
Jeśli wykonanie czystej kompilacji nie działa, poszukaj plików PCH w
/var/folders/../SharedPrecompiledHeaders
i usuń pliki PCH, które działały dla mnie.źródło
Możesz spróbować wyczyścić produkt lub folder kompilacji:
SHIFT+ COMMAND+K
OPTION+ SHIFT+ COMMAND+K
źródło
Jeśli budujesz z wiersza poleceń za pośrednictwem
xcodebuild
, sprawdź, czy plik-derivedDataPath BUILD_DIR
opcja jest używana. Jeśli tak, twój katalog ModuleCache.noindex będzie w BUILD_DIR zamiast w normalnej lokalizacji Xcode. Usuń katalog ModuleCache.noindex i wszystko będzie gotowe.Wpadłem na tę sytuację, ponieważ buduję aplikację React Native, a klient iOS jest zwykle budowany z wiersza poleceń za pośrednictwem zestawu narzędzi React Native.
źródło
Próbowałem wyczyścić projekt i wyczyścić folder kompilacji, które nie działały.
Następnie całkowicie zamknąłem xCode, usunąłem folder danych pochodnych w jego standardowej lokalizacji: ~ / Library / Developer / Xcode / DerivedData, ponownie uruchomiłem xCode i zbudowałem projekt.
Wydawało się, że to rozwiązało problem.
źródło
rm -rf ~/Library/Developer/Xcode/DerivedData
w Terminalu, a następnie otwarcie Xcode zrobiło to za mnie. Upewniłem się również, że moje lokalizacje (Xcode -> Preferencje -> Lokalizacje) są domyślne.AKTUALIZACJA
To zadziałało idealnie dla mnie:
Xcode 7.3.1
odniesienie tutaj
źródło
Właśnie usunąłem
DerivedData
i pracowałem dla mnie.źródło