2010-04-18 13 views
9
#include<stdio.h> 
#include<ctype.h> 

int main() 
{ 
    char a,b; 
    FILE *fp; 
    fp=fopen("lext.txt","w"); 


    fprintf(fp,"PLUS"); 

return 0; 
} 

der Fehler i erhalten, ist dieseWas bedeutet dieser Fehler in c?

/tmp/ccQyyhxo.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' 
collect2: ld returned 1 exit status 
+1

Geben Sie die von Ihnen verwendete Befehlszeile an, die diesen Fehler verursacht hat. –

Antwort

14

Sie sind eine .cpp Datei mit gcc kompilieren. Benennen Sie die Datei um, um mit .c zu enden, so kompiliert es als C-Code oder kompiliert es mit dem C++ - Treiber g++. Das wird in der stdc++-Bibliothek verknüpft, die diese Funktionen bereitstellt.

+1

Funktioniert in beide Richtungen für mich. Ich sage nicht, dass Sie falsch liegen, aber welches Bit der C++ - Bibliothek ist für dieses Codebeispiel notwendig? –

+4

@Neil es bezieht sich implizit auf diese Ausnahme Support-Funktionen. Persönlichkeitsroutinen werden vom Itanium C++ ABI definiert. Siehe http://www.codesourcery.com/public/cxx-abi/abi-eh.html#base-personality –

+0

offensichtlich '__gxx_personality_v0' ;-) – swegi

2

ld ist der Linker und es meldet, dass es ein Linkproblem gibt. Der gxx Teil der Fehlermeldung deutet darauf hin, dass es etwas mit einem C++ Problem zu tun hat, das die Antwort Johannes Schaub - litb gibt über die Grundursache richtig.

+0

@Neil Butterworth Ich dachte, es könnte gut sein, darauf hinzuweisen, wie man die Fehlermeldung interpretiert und was Johannes dazu veranlasst haben könnte, die Lösung zu finden. – epatel