hata

2008-11-14 41 views
26

Ben iphone uygulaması ve kaynak kodu ben Brad Larson tarafından sağlanan Moleküllerin örnek kod alaydım, ancak, ben proje inşa ederken, aşağıdaki gibi hata döndürür. Herkesin bu bir kütüphane bağlantı problemi mi olduğunu yoksa başka bir şeyi mi özlediğimi işaret edebilir mi? senin Hedefin Build Settings sekmesindehata

"_deflate", referenced from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o "_inflateEnd", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "inflateInit2", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "_inflate", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "_deflateEnd", 
referenced from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o "deflateInit2", referenced 
from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o ld: symbol(s) not found collect2: ld 
returned 1 exit status 
+1

Projenize libz eklediniz mi? –

cevap

80

, Other Linker Flags bölümüne gidin ve -lz alanda olduğundan emin olun. Bu yerleşik zlib'e bağlanır ve hatanın gitmesi gerekir.

Linker Bayraklarını değiştirdikten sonra, tekrar oluşturmadan önce Product menüsünden Clean seçmelisiniz.

lz screenshot

+1

Evet, problemi çözüyorum – issac

+4

Jason'ın cevabının daha güvenilir bir yöntem olduğunu hissediyorum. – Plumenator

+1

@Plumenator Ben'in cevabında uygulamanızın ALREADY kısmı olan bir libz kullanıyorsunuz. Jason'ın cevabında, uygulamaya ek bir libz ekliyorsunuz. İşte bu yüzden Ben'in cevabı daha iyi, daha verimli (tabii ki Jason'a karşı bir suç yok). – Jacksonkr

46

projenize libz ekleyin. Bunu yapmak için, Xcode aşağıdaki adımları izleyin:

  1. , Projenizi açın proje hedefi seçin ve ardından tıklayın, araç çubuğundan (ya da basın ⌘I)
    Example 1
  2. mavi proje bilgi simgesine tıkla + Bir kitaplık eklemek için ekranın sol alt köşesindeki düğmeyi tıklatın, kitaplık listesinin en altına ilerleyin ve libz.dylib dosyasını seçin; Ekle düğmesine tıklayın.
    Example 2
  3. Eklendikten sonra, kitaplık adının Bağlantılı Kitaplıkların oyur listesinde göründüğünü göreceksiniz. Artık projenizi hataları bağlamadan oluşturabileceksiniz.
    Example 3

Listeden herhangi kitaplık eklemek için bu aynı yöntemi kullanabilirsiniz. Kütüphane listede görünmüyorsa, standart iPhone SDK'nın bir parçası olmadığını biliyorsunuz ve çözümünüzü yeniden düşünmeniz ya da kütüphaneyi kendiniz statik olarak kurmanız ve hedefinizi buna bağlamanız gerekebilir (eğer mümkünse).

+1

Çok yardımcı yanıt. Sorun bu konuda çözüldü. – Jyotsna

+2

-1 - çok güzel bir yanıt olsa da, libz.dylib hedefinize bir kitaplık eklediğinizde artık mevcut değildir ve standart kitaplıklar için kullanılmamalıdır. Bunun yerine linker bayraklarınıza '-lz' ekleyin. –