2010-04-18 28 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; 
} 

el error que recibo es este¿Qué significa este error en c?

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

Proporcione la línea de comando que utilizó que le dio este error. –

Respuesta

14

está compilando un archivo .cpp con gcc. Cambie el nombre del archivo para que finalice con .c, por lo que se compila como código C o compilarlo con el controlador C++ g++. Eso se vinculará en la biblioteca stdc++ que proporciona estas funciones.

+1

Funciona en ambos sentidos para mí. No dice que está equivocado, pero ¿qué parte de la biblioteca de C++ cree que es necesaria para esta muestra de código? –

+4

@Neil está haciendo referencia implícitamente a esas funciones de soporte de excepción. Las rutinas de personalidad están definidas por Itanium C++ ABI. Ver http://www.codesourcery.com/public/cxx-abi/abi-eh.html#base-personality –

+0

obviamente '__gxx_personality_v0' ;-) – swegi

2

ld es el vinculador y informa que hay un problema de enlace. La parte gxx del mensaje de error indica que tiene algo que ver con un problema C++ que hace que la respuesta Johannes Schaub - litb proporcione la causa correcta.

+0

@Neil Butterworth Pensé que sería bueno señalar cómo interpretar el mensaje de error y qué pudo haber llevado a Johannes a encontrar la solución. – epatel