SORU
21 HAZİRAN 2011, Salı


Mimarlık için tanımsız simgeler armv7

Bu sorun beni deli ediyor ve bunu düzeltmek için nasıl çözemiyorum...

    Undefined symbols for architecture armv7:
  "_deflateEnd", referenced from:
      -[ASIDataCompressor closeStream] in ASIDataCompressor.o
  "_OBJC_CLASS_$_ASIDataDecompressor", referenced from:
      objc-class-ref in ASIHTTPRequest.o
  "_deflate", referenced from:
      -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
  "_deflateInit2_", referenced from:
      -[ASIDataCompressor setupStream] in ASIDataCompressor.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

İlgisi var bence

ld: symbol(s) not found for architecture armv7

ama ekledik: libz.1.2.3.dylib ve bir faydası yok, kimseye herhangi bir fikri olan var mı?

CEVAP
21 HAZİRAN 2011, Salı


Ortak Neden Olur

Mimarisi armv7": . "Tanımsız simgeler için ortak nedenleri

  1. Sanabir başlık almak ve doğru kütüphaneye karşı bağlantı değil. Bu varsayılan olarak projelere dahil olmadığı için ortak, özellikle QuartzCore gibi kütüphaneler için başlıklar için. Gidermek için:

    • Doğru kitaplıkları ekleyinLink Binary With Librariesbu bölümBuild Phases.

    • Eğer varsayılan arama yolu dışında bir kütüphane eklemek istersen yolu vardırLibrary Search Pathsbu değer Ayarlarını ve Yapı ekleyin-l{library_name_without_lib_and_suffix} (örn. libz.kullanım -lz)Other Linker FlagsbölümBuild Settings.

  2. Sanakopya projenize dosyaları ama hedef dosya eklemek için kontrol etmeyi unuttu. Gidermek için:

    • AçıkBuild Phasesdoğru hedef için genişletinCompile Sourcesve .m eksik dosyaları ekleyin. Eğer bu sorunu lütfen Cortex's answer below upvote.
  3. Sanabaşka bir mimari için üretilmiş, statik bir kütüphane vardıri386, ana makine simülatörü gibi. Gidermek için:

    • Eğer projeye dahil edilecek kitaplıklar satıcıdan birden fazla kütüphane dosyaları varsa simülatörü (i386) ve cihaz için (örneğin armv7) eklemek gerekir.

    • İsteğe bağlı olarak, her iki mimarileri içeren fat static library oluşturabilirsin.


Orijinal Cevabı:

Doğru libz dosyayı karşı bağlı değil. Sağ dosyasını tıklayın ve Bulucu olarak ortaya yolu bir yerde iOS sdk klasöründe olmalıdır. Burada, örneğin benim

/Geliştirici/Platformlar iPhoneOS/.platform/Geliştirici//iPhoneOS4 SDK.3.sdk/usr/lib

Başvuruyu kaldırmak ve yeniden eklemek, arka Bağlantı Kitaplıkları hedefin Aşamaları bölüm Yapı İle İkili olarak tavsiye ederim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013