2011-09-23 15 views
6

Xcode çalışma alanımda üçüncü parti bir projem var (bu benim ana projem için bir bağımlılıktır) ve Xcode'un bu üçüncü taraf projedeki tüm derleme uyarılarını göz ardı etmesini istiyorum.Xcode, 3. taraf projesinde LLVM oluşturma uyarılarını yok sayın

Tercihen, tüm üçüncü taraf kodlarımı koyduğum için projemde Satıcı/* grubu için tüm yapım uyarılarını göz ardı etmek istiyorum.

Mümkün mü? Ayrıca o zaman -w veya GCC_WARN_INHIBIT_ALL_WARNINGS = YES kullanabilirsiniz oluşturduğu yapı uyarıları devre dışı bırakmak istiyorsanız

#pragma clang diagnostic push 
// in reality, you will likely need to disable *more* than Wmultichar 
#pragma clang diagnostic ignored "-Wmultichar" 
#include <TheirLibrary/include.h> 
#pragma clang diagnostic pop 

: Yalnızca dahil postayla uyarı konusunda endişeniz varsa

cevap

5

Evet, ayrı bir hedefte üçüncü taraf dosyaları derlemek sadece ama eğer mümkün. Bu şekilde farklı derleyici bayrakları ayarlayabilirsiniz.

Ana hedefinizin bir uygulama olduğunu varsayalım. Derleme uyarı bayraklarının yanı sıra derleme ayarlarınızı da tanımladınız.

Artık bazı üçüncü taraf kaynakları kullanmak istiyorsunuz. Bunları projenize aktarıyorsunuz, ancak uyarı veriyorlar. Tabii ki ana hedefinizin ayarlarını değiştirebilirsin, ama kendi ayarlarınızı korumak istediğinizden eminim.

Projenizde statik kitaplık olan ek bir hedef oluşturun. Üçüncü taraf dosyaları ana hedefinizden kaldırır ve bunları kitaplığa ekler. ana hedefin inşa aşamalarında

, statik kütüphane ile başvurunuzu bağlamaktadır.

Bu şekilde, üçüncü taraf kodu için farklı derleyici ayarlarına sahipken, uygulamanızda üçüncü taraf kodunu kullanabilirsiniz.

3

, o zaman senin bu açıklamalar yer sarabilirsiniz bağladığınız veya paketlediğiniz üçüncü taraf hedefi için. kapatılırsa

ideal olarak size satıcı ile raporlar hazırlayacak. Eğer açıksa, belki sadece kendiniz düzeltmelisiniz.

+0

Bu işe yarayabilir, ancak kod clang adlı pragmas ... – Macmade

+0

@Macmade cevap detayları için bağımlı hale gelecektir olarak ben şahsen, bu kötü bir seçenek olduğunu düşünüyorum cevabımın ikinci bölümü. Eğer kütüphaneye bağlanıyorsanız, * şansınız vardır * programınızı bir noktadan * kullanabilirsiniz *. projenize dahil edildiğinde 3. taraf başlıkları tarafından oluşturulan uyarıları devre dışı bırakmayı nasıl öneriyoruz? Ayrıca, #pragma clang tanılamalarını derleyici denetimlerinde de kaydedebileceğinizi unutmayın (çünkü bazı derleyiciler istenirse bilinmeyen pragmalardan şikayet edecektir). – justin

+0

Haklısınız, ancak uyarılar başlık dosyalarından geliyorsa, o zaman çok berbat kodu ima edebileceğinden başka bir çözüm aramaya çalışacağım ...:) – Macmade

4

Git Yapı Aşamaları>Dergi Kaynakları. İsteğe bağlı olarak listeyi filtreleyin. Hariç tutmak istediğinizleri seçin ve ardından Derleyici Bayrakları sütununun altındaki boş alana çift tıklayın. -w ve isabet getiri ekleyin:

Adding compiler flag to Build Phase

+1

Maalesef, klasör içererek filtreleyemezsiniz. –

İlgili konular