반응형
링크 오류 " '__gxx_personality_v0'에 대한 정의되지 않은 참조"및 g ++
중복 가능성 :
링크의 정의되지 않은 기호 ___gxx_personality_v0
다음 프로그램에 문제가 있습니다.
// fkt.cpp
#include "fkt.h"
int add2(int a, int b)
{
return a+b;
}
그리고 헤더 :
// fkt.h
int add2(int a, int b);
이제 다음과 같이 컴파일합니다.
g++ -c fkt.cpp
이제 실행 nm
하고 얻습니다.
00000000 T _Z6add2ii
U __gxx_personality_v0
어디서나 함수를 사용하고 싶을 때 :
(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
이 문제를 어떻게 해결할 수 있습니까? ( 우분투 리눅스를 사용하고 있습니다.)
만약 g++
여전히 사용하여 오류 시도를 제공합니다 :
g++ file.c -lstdc++
이 게시물을보십시오 : __gxx_personality_v0은 무엇입니까?
-lstdc++
명령의 끝에 있는지 확인하십시오 . 처음에 (즉, file.c 이전에) 배치해도 동일한 오류가 발생할 수 있습니다.
gcc
대신 결과 개체 파일과 연결하려는 것 g++
같습니다.
C ++ 개체 파일을 사용하는 프로그램은 적절한 C ++ 라이브러리를 제공하기 위해 항상 g ++와 연결되어야합니다. C ++ 개체 파일을 C 컴파일러 gcc와 연결하려고하면 C ++ 표준 라이브러리 함수에 대해 "정의되지 않은 참조"오류가 발생합니다.
$ g++ -Wall -c hello.cc
$ gcc hello.o (should use g++)
hello.o: In function `main':
hello.o(.text+0x1b): undefined reference to `std::cout'
.....
hello.o(.eh_frame+0x11):
undefined reference to `__gxx_personality_v0'
반응형
'programing tip' 카테고리의 다른 글
TypeScript에서 '확장'과 '구현'의 차이점은 무엇입니까? (0) | 2020.10.26 |
---|---|
하위 프로세스에서 실시간으로 stdout 포착 (0) | 2020.10.26 |
IllegalStateException의 용도는 무엇입니까? (0) | 2020.10.25 |
재귀 호출이 다른 스택 깊이에서 StackOverflow를 발생시키는 이유는 무엇입니까? (0) | 2020.10.25 |
오프라인 iOS 웹 앱 : 매니페스트를로드하지만 오프라인에서 작동하지 않습니다. (0) | 2020.10.25 |