Başka

Mac 'x86_64 mimarisi için tanımsız semboller' nasıl önlenir?

mikezang

ile
Orijinal afiş
22 Mayıs 2010
Tokyo, Japonya
  • 25 Tem 2015
Eski Lego RCX'im için çapraz derleme oluşturmaya çalıştım, GCC 3.3.6 ve NEWLIB 1.13 kullanıyorum.
Kod: |_+_|
Bunu yaptığımda, sonunda aşağıdaki gibi bir hata aldım, ne yapabilirim?
Kod: |_+_|

aklı başında deli

ile
8 Kasım 2010


Utah
  • 2 Ağu 2015
Olan şu ki, OS X'in bağlayıcısı, bağlanmaya çalıştığı hiçbir şeyde belirtilen işlevi bulamıyor. Bunun nedeni, eksik bir önişlemci makrosu veya derlenmiş kod ve/veya kitaplığın bağlanmamış olması olabilir.

mikezang

ile
Orijinal afiş
22 Mayıs 2010
Tokyo, Japonya
  • 4 Ağu 2015
Madd the Sane şunları söyledi: OS X'in bağlayıcısı, bağlantı kurmaya çalıştığı hiçbir şeyde belirtilen işlevi bulamıyor. Bunun nedeni, eksik bir önişlemci makrosu veya derlenmiş kod ve/veya kitaplığın bağlanmamış olması olabilir.
Mesajın için teşekkürler! bu sorunu nasıl çözeceğimi söyler misin? C

cqexbesd

4 Haz 2009
Almanya
  • 4 Ağu 2015
mikezang dedi ki: Mesajınız için teşekkürler! bu sorunu nasıl çözeceğimi söyler misin?

Burada sadece tahmin yürütüyorum ama bence gperf'in kurulu olması gerekebilir. Ardından sıfırdan oluşturmaya başlayın - yani distclean veya benzeri yapın - veya dizininizi silin ve tar dosyasını tekrar genişletin.

kromülent

2 Ekim 2006
Umut ve Zafer Ülkesi
  • 4 Ağu 2015
mikezang dedi ki: Mesajınız için teşekkürler! bu sorunu nasıl çözeceğimi söyler misin?

Görünüşe göre yanlış GCC kullanıyorsunuz.

Ya tam yolu GCC 3.3.6'ya yazın ya da GCC'den farklı bir adla yola ekleyin (çünkü Apple zaten clang'ı çalıştıran bir GCC komutu sağlar). Bu nedenle aşağıdaki hatayı alıyorsunuz:

ld: x86_64 mimarisi için sembol(ler) bulunamadı

clang: error: linker komutu çıkış kodu 1 ile başarısız oldu (çağrıyı görmek için -v kullanın)

Aslında x86_64'e derlenen Clang çalıştırıyorsunuz. Derlediğiniz GCC'yi çalıştırmanız gerekir. Normalde GCC'yi bir çapraz derleyici olarak derlerken, ona GCC'den (derlerken GCC için yapılandırma komut dosyası seçeneklerinden biridir) farklı bir ad verirsiniz, böylece sistem tarafından sağlanan GCC ile kendi GCC çaprazınız arasındaki farkı anlayabilirsiniz. derleyici.

mikezang

ile
Orijinal afiş
22 Mayıs 2010
Tokyo, Japonya
  • 4 Ağu 2015
cqexbesd dedi ki: Burada sadece tahmin yürütüyorum ama sanırım gperf'in kurulu olması gerekebilir. Ardından sıfırdan oluşturmaya başlayın - yani distclean veya benzeri yapın - veya dizininizi silin ve tar dosyasını tekrar genişletin.
Harika! Dün gece bu sayfayı buldum http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , takip ettikten sonra hata gitti.