2012-01-04 2 views
6

저는 프로젝트를 컴파일하려고 할 때 "openidv 프레임 워크를 사용할 때"-fno-rtti와 함께 typeid를 사용할 수 없습니다. 나는 문제를 봤지만 인터넷에서 발견 한 오류가 내 문제와 관련이없는 것으로 보인다. 문제가 포함, 코드 또는 컴파일러와 관련이 있는지 알 수 없습니다. 다음, 당신은 컴파일러에 no-rtti 플래그를 사용하는 경우 :오류 : -fno-rtti와 함께 typeid를 사용할 수 없습니다.

엑스 코드는 시대의 많은 나에게 오류를주고 있지만, 첫 번째 오류는 여기에 있습니다 : 그것은 당신에게 메시지의 오류 권리를 말하고

virtual const std::type_info& type() { return typeid(T); } 
+1

for Android NDK : cppFlags + = "-frtti" –

답변

6

typeid을 사용할 수 없습니다. RTTI를 활성화하십시오. 그것은 결국 C++의 일부입니다.

+1

"GCC_ENABLE_CPP_RTTI = YES"를 확인했습니다. 감사합니다. – Gustavo

2

RTTI는 런타임 유형 정보를 나타내고 typeid은 RTTI 기능입니다. RTTI (-fno-rtti)를 끄면 typeid과 같은 기능도 비활성화됩니다.

C++의 RTTI에 대한 자세한 내용은 http://en.wikipedia.org/wiki/RTTI을 참조하십시오.

관련 문제