我在尝试编译项目时遇到“无法使用带有-fno-rtti的typeid”,我使用的是opencv框架。 我用谷歌搜索了问题,但似乎我在互联网上发现的错误与我的问题无关。 我不知道问题是否与包含,代码或编译器有关。
Xcode多次给我错误,但第一个错误就在这里:
virtual const std::type_info& type() { return typeid(T); }
答案 0 :(得分:6)
它告诉你消息中的错误:如果你在编译器上使用no-rtti
标志,那么typeid
将无法使用。只需启用RTTI;毕竟它是C ++的一部分。
答案 1 :(得分:1)
RTTI代表运行时类型信息,typeid
是RTTI功能。因此,关闭RTTI(-fno-rtti
)也会禁用typeid
等功能。
有关C ++中RTTI的更多信息,请参阅http://en.wikipedia.org/wiki/RTTI。