Jiný

Mac Jak se vyhnout „nedefinovaným symbolům pro architekturu x86_64“?

mikezang

na
Původní plakát
22. května 2010
Tokyo, Japonsko
  • 25. července 2015
Pokusil jsem se vytvořit křížovou kompilaci pro můj starý Lego RCX, používám GCC 3.3.6 a NEWLIB 1.13.
Kód: |_+_|
Když to udělám, nakonec jsem dostal chybu, jak je uvedeno níže, co mohu dělat?
Kód: |_+_|

Madd příčetný

na
8. listopadu 2010


Utah
  • 2. srpna 2015
Dochází k tomu, že linker OS X nemůže najít zadanou funkci v ničem, co se pokouší propojit. Důvodem může být chybějící makro preprocesoru nebo není propojen zkompilovaný kód a/nebo knihovna.

mikezang

na
Původní plakát
22. května 2010
Tokyo, Japonsko
  • 4. srpna 2015
Madd the Sane řekl: Co se děje, je to, že linker OS X nemůže najít specifikovanou funkci v ničem, co se pokouší propojit. Důvodem může být chybějící makro preprocesoru nebo není propojen zkompilovaný kód a/nebo knihovna.
Díky za vaši zprávu! můžete mi říct, jak tento problém vyřešit? C

cqexbesd

4. června 2009
Německo
  • 4. srpna 2015
mikezang řekl: Díky za vaši zprávu! můžete mi říct, jak tento problém vyřešit?

Zde pouze hádám, ale myslím, že možná budete muset mít nainstalovaný gperf. Pak začněte budovat od nuly – tedy udělat distclean nebo podobně – nebo prostě smažte svůj adresář a znovu rozbalte soubor tar.

Cromulent

2. října 2006
Země naděje a slávy
  • 4. srpna 2015
mikezang řekl: Díky za vaši zprávu! můžete mi říct, jak tento problém vyřešit?

Zdá se, že používáte nesprávný GCC.

Buď zadejte úplnou cestu ke GCC 3.3.6, nebo ji přidejte do cesty s jiným názvem než GCC (protože Apple již poskytuje příkaz GCC, který náhodou spouští clang). To je důvod, proč máte následující chybu:

ld: symbol(y) nebyl nalezen pro architekturu x86_64

clang: error: příkaz linker selhal s kódem ukončení 1 (pro zobrazení vyvolání použijte -v)

Ve skutečnosti používáte Clang, který se zkompiluje na x86_64. Musíte spustit GCC, který jste zkompilovali. Obvykle při kompilaci GCC jako křížového kompilátoru mu dáte jiný název než GCC (což je jedna z možností konfiguračního skriptu pro GCC při jeho kompilaci), abyste poznali rozdíl mezi GCC poskytovaným systémem a vaším vlastním křížem GCC. kompilátor.

mikezang

na
Původní plakát
22. května 2010
Tokyo, Japonsko
  • 4. srpna 2015
cqexbesd řekl: Tady jen hádám, ale myslím, že možná budete muset mít nainstalovaný gperf. Pak začněte budovat od nuly – tedy udělat distclean nebo podobně – nebo prostě smažte svůj adresář a znovu rozbalte soubor tar.
Skvělý! Včera večer jsem našel tuto stránku http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , chyba zmizí poté, co ji budete sledovat.