프로젝트에 C++/Qt를 사용하고 있는데 이상한 문제가 있습니다.원격 Linux 컴퓨터에서 RTTI 확인이 실패합니다.
내 응용 프로그램은 모든 원시 Linux 컴퓨터와 Windows에서 제대로 실행됩니다. 문제는 원격 Linux 컴퓨터를 사용하여 프로그램을 실행하고 X Windows 서버 (Xming을 사용)를 보거나 사용하는 경우에 나타납니다. 디버거는 dynamic_cast가 객체 포인터를 가져 오지 못하는 라인을 가리 킵니다 (캐스트가 반환됩니다). 좋은 NULL 대신에) 내가 원하는 실제 객체 대신에.
이러한 런타임 검사를 사용하려면 일부 구성 문제가 의심 스럽습니다.
누구나 이러한 문제에 직면 해 있습니다. 해결책을 찾는 데 도움이되는 사람이 누구나있을 수 있습니다.
샘플 코드가 유용 할 것입니다. –
주 :'dynamic_cast <>'가 NULL을 리턴하는 것은 유효합니다. 이것은 관련이없는 포인터 유형으로 포인터를 캐스팅 할 때 발생합니다. –
그러나 이것은 X와 아무 관련이 없습니다. RTTI는 최신 시스템에서 기본적으로 사용되므로 원격 시스템의 OS (및 버전)와 사용 된 컴파일러 (및 버전)를 알아야하는이 가능성을 배제하기 위해 응용 프로그램을 빌드합니다. –