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

내가 오류이c에서이 오류는 무엇을 의미합니까?

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

이 오류를 발생시킨 명령 줄을 제공해주십시오. –

답변

14

당신은 gcc.cpp 파일을 컴파일하는 것입니다. 파일의 이름을 .c으로 바꾸고 C 코드로 컴파일하거나 C++ 드라이버 g++으로 컴파일하십시오. 이 기능을 제공하는 stdc++ 라이브러리에 링크됩니다.

+1

나를 위해 두 가지 방법으로 모두 작동합니다. 당신이 틀렸다고 말하는 것은 아니지만,이 코드 샘플에는 C++ 라이브러리 중 어떤 부분이 필요하다고 생각합니까? –

+4

@Neil 그것은 암시 적으로 이러한 예외 지원 함수를 참조합니다. Personality 루틴은 Itanium C++ ABI에 의해 정의됩니다. http://www.codesourcery.com/public/cxx-abi/abi-eh.html#base-personality –

+0

분명히'__gxx_personality_v0'을 참조하십시오. – swegi

2

ld은 링커이며 링크 문제가 있음을보고하고 있습니다. gxx 오류 메시지의 일부는 대답이 C++과 관련이 있다는 것을 암시합니다. Johannes Schaub - litb에 대한 근본 원인이 정확합니다.

+0

@Neil Butterworth 나는 오류 메시지를 해석하는 방법과 요하네스가 해결책을 생각해 낼 수 있었던 원인을 지적하는 것이 좋을 것이라고 생각했습니다. – epatel

관련 문제