C 컴파일 중 정의되지 않은 기호 오류
"gcc test.cpp" 명령을 사용하여 C 프로그램을 컴파일하려고 하면 다음과 같은 오류가 발생합니다. "링크에 정의되지 않은 기호 ___gxx_personality_v0" 오류 메시지가 나타납니다. 이 오류는 성공적인 연결에 필요한 기호가 누락되었음을 나타냅니다.
핵심 문제는 C 코드에 잘못된 컴파일러를 사용하는 데서 발생합니다. gcc는 주로 C 프로그램을 컴파일하기 위한 것이지만 C에는 g와 같은 별도의 컴파일러가 필요합니다. C 코드와 함께 gcc를 사용하면 예외 처리 및 해제에 필수적인 특정 기호 ___gxx_personality_v0을 인식하고 처리하는 데 필요한 기능이 부족합니다.
이 문제를 해결하기 위해 권장되는 두 가지 접근 방식이 있습니다.
g 컴파일러 사용
기본적인 해결책은 다음과 같습니다. C 코드에 적합한 컴파일러를 사용하십시오. 다음과 같이 명령줄에서 gcc를 g로 바꾸세요.
g++ test.cpp
g는 연결에 필요한 필수 기호를 포함하여 C의 복잡성을 처리할 수 있습니다.
C와 연결 표준 라이브러리(우선적 접근 방식)
또는 계속 사용해야 할 설득력 있는 이유가 있는 경우 gcc의 경우 명령줄에 "-lstdc" 옵션을 추가할 수 있습니다. 이 옵션은 gcc에게 누락된 기호가 포함된 C 표준 라이브러리에 대해 링크하도록 지시합니다:
gcc test.cpp -lstdc++
이 방법을 사용하면 C 코드를 gcc로 컴파일하고 링크할 수 있지만 효율적이지 않을 수 있습니다. 또는 권장됩니다.
이러한 솔루션을 준수하면 "링크에 정의되지 않은 기호 ___gxx_personality_v0" 오류를 제거하고 성공적인 컴파일을 보장할 수 있습니다. C 코드 연결.
위 내용은 gcc로 C 코드를 컴파일할 때 '링크에서 정의되지 않은 기호 ___gxx_personality_v0' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!