Xcode sürüm 4.6.2 (4H1003) derleyici hatası


88

Xcode 4.6.2 (4H10003) sürümüne yeni güncelledim ve simülatörde daha önce çalışan bir uygulama projesini çalıştırmayı denedim ve aşağıdaki hatayı aldım ve derleme başarısız oldu.

Derleyiciden ((clang-425.0.28)) farklı bir daldan ((clang-425.0.27)) oluşturulan PCH dosyası

Ne yanlış gitti ve nasıl düzeltilebilir?


Bir Ürün -> Simülatörden önceden oluşturulmuş uygulamayı temizlemeyi ve silmeyi denedim. Hiçbiri işe yaramadı.
OscarTheGrouch

2
"Derleme Klasörünü Temizle", bir aygıt oluştururken sorunumu çözmedi (birkaç kez denendi). "Derleme Klasörünü Temizlemem", simülatörde derlemem ve ardından çözülen cihaza kurmam gerekiyordu.
DBD

Yanıtlar:


184

Projeyi Temizleyin; Tüm yapı klasörünü ve ara maddeleri temizlemek için Option'a basılı tutun. Burada açıkladığım gibi, Xcode'dan çıkmanız ve DerivedData klasörünün tüm içeriğini Finder'da elle atmanız gerekebilir: Önbellekleri Boşaltma ve Tüm Hedefleri Temizleme Xcode 4


Evet, temiz benim için de çalıştı. Hata, önceden derlenmiş başlıkların farklı bir sürümle oluşturulduğunu ve en yeni derleyici sürümüyle uyumlu olmadığını söylemektir.
zingle-dingle

Önceki Xcode yükseltmelerinde bu başınıza gelmediyse, sadece şanslıydınız. Bana oldu. Bir süre sonra alışırsın ...
matt

Bu, seçeneği basılı tutarak 'Derleme Klasörünü Temizle' yaptıktan sonra benim için çalıştı. Teşekkürler!
Luke

1
Bu benim için çalıştı teşekkürler ... Seçeneği tutmanın farklı bir tür temizlik yaptığını bilmiyordum.
OscarTheGrouch

Bu yalnızca Xcode içinde oluşturmak için çalışır. Komut satırından oluşturuyorsanız, Rodrigo Lima'nın aşağıdaki gönderisine bakın.
Jeff

21

Projenize gidin Build Settings, adlı bir ayar bulun ve Precompiled Headers Cache Pathbu klasörü silin


Sadece bu eylem, belirtilen problemde bana yardımcı oldu. Teşekkürler!
Orange

13

command+shift+kMevcut projeyi kullanarak bir temizlik yapın ve tekrar çalıştırın.

görüntü açıklamasını buraya girin


9

Gönderen XCode 4.6.2 Sürüm Notları

Bilinen Sorunlar

Bina

Daha önce Xcode 4.6.1 veya önceki sürümlerle oluşturulmuş bir ürün oluştururken, yapı buna benzer bir hatayla başarısız olur:

Derleyiciden ((clang-425.0.28)) farklı bir daldan ((clang-425.0.27)) oluşturulan PCH dosyası

Bu sorunu çözmek için ürününüzü oluşturmadan önce Ürün> Temizle'yi seçin. 13663167

Ürün Yapma> Temiz işler


1
Evet, önceki sürümlerle ilgili bir sorundu, ancak yalnızca şu anda sürüm notlarında bahsedilmeye değer olduğu kabul ediliyor. Ayrıca, Xcode'u IDE olarak kullanmayanlar için hiçbir çözüm sunmazlar, @sycx bunu yapar (Önceden Derlenmiş Başlıklar Önbellek Yolunu temizleyin).
Canlı

9

Ben her şeyden önce denedim ve Xcode arayüzünden cezası çalışır, ama ben koştum zaman o hala benim için başarısız oldu xcodebuild gelen komut satırı .

Bunun nedeni diğer kitaplıklara ve onların derleme öncesi başlıklarına olan bağımlılıklardı. Komut satırından çalıştırıldığında, xcodebuild store gibi görünür / buradan önceden derlenmiş başlıkları okur:

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

Bu klasörü temizledikten sonra xcodebuild başarılı oldu.


2
Bu klasör konumu herkes için farklı olacaktır, bu nedenle temizlenecek doğru klasörü bulmanın hızlı bir yolu bul + grep kullanmaktır ... sudo find / var / klasörler | grep SharedPrecompiled
Greg Combs

1
Ben de aynı sorunu yaşadım. Xcode içinden derleyebilsem bile komut satırından çalıştırma başarısız oldu. Çalıştırdım: sudo find /private/var/folders -name SharedPrecompiledHeadersve sonra ortaya çıkan dizinleri boşalttım. Bir cazibe gibi çalıştı.
Jeff

Buna ek bir oy verebilseydim yapardım. Komut satırından inşa ederken kesinlikle temizlik benden işe yaramıyor. Öyle olmasını bekliyordum, ancak önceden derlenmiş başlıkları nerede arayacağımı bilmek çok yardımcı oldu.
John Bowers

4

Özellikle komut satırından derlerseniz veya bir derleme betiğiniz varsa, xcode hedefini temizlemek yeterli değildir. Bu klasörü silmelisiniz.

Önceden derlenmiş başlığın tam konumu projede bulunabilir, klasör yolunun bir kısmı rastgele (sanırım), özellikle /var/folders/xx..xxx/C'den sonra.

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

Terminal'i çalıştırın ve bu klasöre gidin ve silin (komutu kullanın),

#rm -fr SharedPrecompiledHeaders

görüntü açıklamasını buraya girin


Mükemmel cevap! Ama o konumda böyle bir klasörüm yoktu (ls -lAhF kullanarak Terminal komut isteminde bile). Ancak Xcode'u kapatmak ve ardından com.apple.Xcode.501 klasörünü silmek iyi çalıştı.
RedYeti

Önceden derlenmiş başlığın tam konumu projede bulunabilir, klasör yolunun bir kısmı rastgele (sanırım), özellikle /var/folders/xx..xxx/C'den sonra.
karim

Üzgünüm, net değildim. Evet, yol her zaman / var / klasörler / * altında değişecektir, ancak orada olmayan klasör "SharedPrecompiledHeaders" değildi - bu beni şaşırttı. Ancak bahsettiğim ana klasörü kaldırmak sorunsuz çalışmalıdır.
RedYeti

4

~/Library/Developer/Xcode/DerivedData/ Temizlemeyi manuel olarak silmem gerekiyordu benim için çalışmadı.


0

projenizi temizlemek için "command + shift + k" kullanın, o zaman iyi olacaksınız.


0

Projenizi temizleyin ve çalıştırın

Ürün-> Ardından Temizleyin, Çalıştırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.