Drugo

Mac Kako se izogniti 'Nedefiniranim simbolom za arhitekturo x86_64'?

mikezang

do
Originalni plakat
22. maja 2010
Tokio, Japonska
  • 25. julij 2015
Poskušal sem ustvariti navzkrižno prevajanje za svoj stari Lego RCX, uporabljam GCC 3.3.6 in NEWLIB 1.13.
Koda: |_+_|
Ko to naredim, sem končno dobil napako, kot je spodaj, kaj lahko storim?
Koda: |_+_|

Madd Pametni

do
8. november 2010


Utah
  • 2. avgust 2015
Dogaja se, da povezovalec OS X ne najde določene funkcije v ničemer, kar poskuša povezati. Razlog za to je lahko manjkajoč makro predprocesorja ali pa prevedena koda in/ali knjižnica nista povezani.

mikezang

do
Originalni plakat
22. maja 2010
Tokio, Japonska
  • 4. avgust 2015
Madd the Sane je dejal: Dogaja se, da povezovalec OS X ne najde določene funkcije v ničemer, kar poskuša povezati. Razlog za to je lahko manjkajoč makro predprocesorja ali pa prevedena koda in/ali knjižnica nista povezani.
Hvala za vaše sporočilo! mi lahko poveste, kako rešiti ta problem? C

cqexbesd

4. junij 2009
Nemčija
  • 4. avgust 2015
mikezang je rekel: Hvala za vaše sporočilo! mi lahko poveste, kako rešiti ta problem?

Tukaj samo ugibam, vendar mislim, da boste morda morali namestiti gperf. Nato začnite graditi iz nič - t.j. naredite distclean ali podobno - ali preprosto izbrišite svoj imenik in znova razširite datoteko tar.

Cromulent

2. oktober 2006
Dežela upanja in slave
  • 4. avgust 2015
mikezang je rekel: Hvala za vaše sporočilo! mi lahko poveste, kako rešiti ta problem?

Videti je, da uporabljate napačen GCC.

Vnesite celotno pot do GCC 3.3.6 ali jo dodajte poti z drugačnim imenom kot GCC (ker Apple že ponuja ukaz GCC, ki se dejansko zažene clang). Zato imate naslednjo napako:

ld: simbol(i) ni mogoče najti za arhitekturo x86_64

clang: napaka: ukaz povezovalnika ni uspel z izhodno kodo 1 (uporabite -v za ogled klica)

Dejansko uporabljate Clang, ki se prevede v x86_64. Zagnati morate GCC, ki ste ga prevedli. Običajno pri prevajanju GCC kot navzkrižnega prevajalnika mu dodelite drugačno ime kot GCC (kar je ena od možnosti konfiguriranja skripta za GCC pri prevajanju), tako da lahko ugotovite razliko med GCC, ki ga zagotavlja sistem, in vašim lastnim križem GCC prevajalnik.

mikezang

do
Originalni plakat
22. maja 2010
Tokio, Japonska
  • 4. avgust 2015
cqexbesd je rekel: tukaj samo ugibam, vendar mislim, da boste morda morali imeti nameščen gperf. Nato začnite graditi iz nič - t.j. naredite distclean ali podobno - ali preprosto izbrišite svoj imenik in znova razširite datoteko tar.
Super! Sinoči sem našel to stran http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , napaka izgine, ko sledite temu.