Iba Pa

Paano maiiwasan ang 'Hindi natukoy na mga simbolo para sa arkitektura x86_64'?

mikezang

sa
Orihinal na poster
Mayo 22, 2010
Tokyo, Japan
  • Hul 25, 2015
Sinubukan kong gumawa ng cross compile para sa aking lumang Lego RCX, gumagamit ako ng GCC 3.3.6 at NEWLIB 1.13.
Code: |_+_|
Kapag nagawa ko ito, sa wakas ay nagkaroon ako ng error tulad ng nasa ibaba, ano ang maaari kong gawin?
Code: |_+_|

Madd the Sane

sa
Nob 8, 2010


Utah
  • Agosto 2, 2015
Ang nangyayari ay hindi mahanap ng linker ng OS X ang tinukoy na function sa anumang sinusubukan nitong i-link. Ang dahilan nito ay maaaring isang nawawalang preprocessor macro, o ang pinagsama-samang code at/o library ay hindi naka-link.

mikezang

sa
Orihinal na poster
Mayo 22, 2010
Tokyo, Japan
  • Agosto 4, 2015
Sinabi ni Madd the Sane: Ang nangyayari ay hindi mahanap ng linker ng OS X ang tinukoy na function sa anumang sinusubukan nitong i-link. Ang dahilan nito ay maaaring isang nawawalang preprocessor macro, o ang pinagsama-samang code at/o library ay hindi naka-link.
Salamat sa iyong mensahe! maaari mo bang sabihin sa akin kung paano malutas ang problemang ito? C

cqexbesd

Hun 4, 2009
Alemanya
  • Agosto 4, 2015
sabi ni mikezang: Salamat sa iyong mensahe! maaari mo bang sabihin sa akin kung paano malutas ang problemang ito?

Nanghuhula lang ako dito pero sa tingin ko baka kailanganin mong i-install ang gprf. Pagkatapos ay simulan ang pagbuo mula sa simula - ibig sabihin, gumawa ng distclean o katulad - o tanggalin lamang ang iyong direktoryo at palawakin muli ang tar file.

Cromulent

Oktubre 2, 2006
Ang Lupain ng Pag-asa at Kaluwalhatian
  • Agosto 4, 2015
sabi ni mikezang: Salamat sa iyong mensahe! maaari mo bang sabihin sa akin kung paano malutas ang problemang ito?

Mukhang maling GCC ang ginagamit mo.

Alinman sa i-type ang buong path sa GCC 3.3.6 o idagdag ito sa path na may ibang pangalan kaysa sa GCC (dahil ang Apple ay nagbibigay na ng isang GCC command na nangyayari sa aktwal na pagpapatakbo ng clang). Ito ang dahilan kung bakit mayroon kang sumusunod na error:

ld: (mga) simbolo ay hindi nahanap para sa arkitektura x86_64

clang: error: nabigo ang linker command na may exit code 1 (gamitin ang -v para makita ang invocation)

Talagang pinapatakbo mo ang Clang na nag-compile sa x86_64. Kailangan mong patakbuhin ang GCC na iyong pinagsama-sama. Karaniwan kapag kino-compile ang GCC bilang cross compiler binibigyan mo ito ng ibang pangalan kaysa sa GCC (na isa sa mga opsyon sa pag-configure ng script para sa GCC kapag kino-compile ito) para masabi mo ang pagkakaiba ng GCC na ibinigay ng system at ng sarili mong GCC cross compiler.

mikezang

sa
Orihinal na poster
Mayo 22, 2010
Tokyo, Japan
  • Agosto 4, 2015
Sinabi ni cqexbesd: Dito lang ako nanghuhula ngunit sa tingin ko ay maaaring kailanganin mong i-install ang gprf. Pagkatapos ay simulan ang pagbuo mula sa simula - ibig sabihin, gumawa ng distclean o katulad - o tanggalin lamang ang iyong direktoryo at palawakin muli ang tar file.
Malaki! Kagabi nakita ko itong page http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , nawala ang error pagkatapos sundin ito.