Kita

„Mac“ Kaip išvengti „Neapibrėžtų simbolių architektūrai x86_64“?

mikezang

į
Originalus plakatas
2010 m. gegužės 22 d
Tokijas, Japonija
  • 2015 m. liepos 25 d
Bandžiau sukurti kryžminį kompiliavimą savo senam Lego RCX, naudoju GCC 3.3.6 ir NEWLIB 1.13.
Kodas: |_+_|
Kai tai padarysiu, pagaliau gavau toliau pateiktą klaidą. Ką daryti?
Kodas: |_+_|

Maddas sveiko proto

į
2010 m. lapkričio 8 d


Juta
  • 2015 m. rugpjūčio 2 d
Taip atsitinka, kad OS X saitas negali rasti nurodytos funkcijos niekur, kurį bando susieti. To priežastis gali būti trūkstama išankstinio procesoriaus makrokomanda arba sukompiliuotas kodas ir (arba) biblioteka nėra susieti.

mikezang

į
Originalus plakatas
2010 m. gegužės 22 d
Tokijas, Japonija
  • 2015 m. rugpjūčio 4 d
Madd the Sane sakė: Taip yra tai, kad OS X sąsaja negali rasti nurodytos funkcijos niekur, ką bando susieti. To priežastis gali būti trūkstama išankstinio procesoriaus makrokomanda arba sukompiliuotas kodas ir (arba) biblioteka nėra susieti.
Ačiū už tavo žinutę! ar galite man pasakyti, kaip išspręsti šią problemą? C

cqexbesd

2009 m. birželio 4 d
Vokietija
  • 2015 m. rugpjūčio 4 d
mikezang pasakė: Dėkojame už jūsų pranešimą! ar galite man pasakyti, kaip išspręsti šią problemą?

Čia tik spėlioju, bet manau, kad gali reikėti įdiegti gperf. Tada pradėkite kurti nuo nulio – t. y. sukurkite distclean ar panašiai – arba tiesiog ištrinkite katalogą ir dar kartą išplėskite tar failą.

Kromulentinis

2006 m. spalio 2 d
Vilties ir šlovės žemė
  • 2015 m. rugpjūčio 4 d
mikezang pasakė: Dėkojame už jūsų pranešimą! ar galite man pasakyti, kaip išspręsti šią problemą?

Panašu, kad naudojate netinkamą GCC.

Įveskite visą kelią į GCC 3.3.6 arba pridėkite jį prie kelio kitu pavadinimu nei GCC (nes Apple jau pateikia GCC komandą, kuri iš tikrųjų paleidžia clang). Štai kodėl turite šią klaidą:

ld: architektūros x86_64 simbolis (-iai) nerastas

clang: error: linker komanda nepavyko naudojant išėjimo kodą 1 (naudokite -v, kad pamatytumėte iškvietimą)

Jūs iš tikrųjų naudojate Clang, kuris kompiliuoja į x86_64. Turite paleisti GCC, kurią sudarėte. Paprastai kompiliuodami GCC kaip kryžminį kompiliatorių, suteikiate jam kitokį pavadinimą nei GCC (kuris yra viena iš GCC scenarijaus konfigūravimo parinkčių jį kompiliuojant), kad galėtumėte atskirti sistemos pateiktą GCC ir savo GCC kryžių. kompiliatorius.

mikezang

į
Originalus plakatas
2010 m. gegužės 22 d
Tokijas, Japonija
  • 2015 m. rugpjūčio 4 d
cqexbesd pasakė: čia tik spėlioju, bet manau, kad gali reikėti įdiegti gperf. Tada pradėkite kurti nuo nulio – t. y. sukurkite distclean ar panašiai – arba tiesiog ištrinkite katalogą ir dar kartą išplėskite tar failą.
Puiku! Vakar vakare radau šį puslapį http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , klaida dingo, kai ją sekate.