Jump to content
Sign in to follow this  
ProXymus

undefined reference to

Recommended Posts

Har noen problemer når jeg kompilerer programmer på Debian maskinen min.. På veldig mange av programmene jeg kompilerer kommer slike feilmeldinger som disse:

expertuserdlg.o(.text+0x87): undefined reference to `__builtin_new'

expertuserdlg.o(.text+0xb0): undefined reference to `__builtin_new'

expertuserdlg.o(.text+0x134): undefined reference to `__builtin_new'

expertuserdlg.o(.text+0x172): undefined reference to `__builtin_new'

expertuserdlg.o(.text+0x1f1): undefined reference to `__builtin_new'

./.libs/libfilesharesamba.a(expertuserdlg.o)(.text+0x22f): more undefined references to `__builtin_new' follow

./.libs/libfilesharesamba.a(expertuserdlg.o): In function `ExpertUserDlg type_info function':

expertuserdlg.o(.gnu.linkonce.t.__tf13ExpertUserDlg+0x36): undefined reference to `__rtti_class'

collect2: ld returned 1 exit status

alltid et eller annet med "undefined reference to"

Hva menes med denne feilmeldingen? hva må jeg evt gjøre for å rette opp i det?

Edited by ProXymus

Share this post


Link to post

Dette er fra et annet program jeg prøver å kompilere (for å se likhetene):

.libs/koptionsdlgs.o(.text+0x7e): undefined reference to `__builtin_new'

.libs/koptionsdlgs.o(.text+0xad): undefined reference to `__builtin_new'

.libs/koptionsdlgs.o(.text+0xd7): undefined reference to `__builtin_new'

.libs/koptionsdlgs.o(.text+0x103): undefined reference to `__builtin_new'

.libs/koptionsdlgs.o(.text+0x187): undefined reference to `__builtin_new'

.libs/koptionsdlgs.o(.text+0x1b1): more undefined references to `__builtin_new' follow

.libs/koptionsdlgs.o: In function `KOptionsDlgS type_info function':

.libs/koptionsdlgs.o(.gnu.linkonce.t.__tf12KOptionsDlgS+0x36): undefined reference to `__rtti_class'

collect2: ld returned 1 exit status

Share this post


Link to post

Man får som regel "Undefined references" når et program ikke har blitt linket sammen med alle de bibliotekene det skulle blitt (den finner headeren, derfor får man ingen feilmelding under kompileringen, men når linkinga er ferdig ser den at den har nettopp undefined references - funksjoner som skulle eksistert men ikke gjør det).

 

Et kjapt søk på google kan tyde på at den funksjonen stammer fra /usr/lib/libstdc++ eller libc6.1-1.so.2 eller noe lignende. Du kan f.eks. prøve å reinstallere disse (husk ldconfig).

 

Det finnes sikkert noen fancy debugger options som gjør at man kan hente fram navnet på biblioteket som funksjonen kommer fra, men såpass hardcore får noen andre være ;)

Share this post


Link to post

Dette har ikke noe med gcc å gjøre. gcc og ld (linkeren) gjør jobben sin som de skal, men det er et bibliotek de ikke finner [pga: 1) du har det ikke installert, 2) det ligger på feil plass, 3) feil versjon er installert, 3) konfigurasjonsfilene for ldconfig er feil satt opp, e.l].

 

Du får søke på google eller debian sin mailingliste. Jeg ville tro en reinstallering av noen lib-pakker (en som inneholder libstdc++ f.eks.) kanskje vil fikse problemet.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...