"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > QT에서 "Vtable에 대한 정의되지 않은 참조"오류가 발생하는 이유는 무엇입니까?

QT에서 "Vtable에 대한 정의되지 않은 참조"오류가 발생하는 이유는 무엇입니까?

2025-02-06에 게시되었습니다
검색:962

Why Am I Getting an

"barelySocket"

에 대한 정의되지 않은 참조 QT에서 "vtable에 대한 정의되지 않은 참조"가 누락 된 구현 또는 선언을 나타냅니다. 클래스 "BarelySocket"의 가상 방법. 그러나 제공된 코드는 가상 메소드가 없다고 주장합니다.

원인 및 해결 :

오류 메시지는 가상 메소드가 해당 정의없이 호출되고 있음을 암시합니다. 수업. 그러나 주어진 헤더 파일에 따르면 가상 메소드가 선언되지 않습니다. 수업에 필요한 메타 데이터. 이 단계는 가상 테이블이 올바르게 정의되도록 보장합니다.
qmake

솔루션 :

QT Creator IDE 또는 명령 프롬프트 내에서 다음 명령을 사용하여 QMAKE를 다시 실행합니다. 문제 : Why Am I Getting an

qmake

qmake를 실행 한 후 업데이트 된 메타 데이터를 통합하기 위해 프로젝트를 다시 제작해야합니다. Qmake 및 빌드 프로세스가 완료되면 링커는 가상 테이블을 올바르게 식별하고 오류 메시지가 사라져야합니다.

새로운 q_object 매크로가 클래스에서 추가되거나 클래스에서 제거 될 때마다 qmake를 다시 실행해야합니다. 미래의 가상 테이블 관련 오류를 피하십시오.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3