错误:无法将typeid与-fno rtti一起使用
Error: Cannot use typeid with -fno-rtti
当我试图编译我的项目时,我得到了这个"无法将typeid与-fno rtti一起使用",我使用的是opencv框架。我在谷歌上搜索了这个问题,但我在网上发现的错误似乎和我的问题无关。我不知道这个问题是与include、代码还是编译器有关。
Xcode给了我很多次错误,但第一个错误在这里:
virtual const std::type_info& type() { return typeid(T); }
它在消息中告诉您错误:如果在编译器上使用no-rtti
标志,则typeid
将不可用。只需启用RTTI;毕竟它是C++的一部分。
RTTI代表运行时类型信息,typeid
是RTTI功能。因此,关闭RTTI(-fno-rtti
)也会禁用类似typeid
的功能。
请参阅http://en.wikipedia.org/wiki/RTTI有关C++中RTTI的更多信息。
相关文章:
- dynamic_cast without RTTI
- 使用 RTTI 克隆唯一指针的向量
- -fno-unwind-tables 和 -fno-async-unwind-tables 不起作用 NDK clang
- 为什么子项目 CMAKE 不考虑 fno-sanitize,请禁用目标的消毒器
- -fno-char8_t 的 MSVC 等效值是多少?
- Qt Creator 在执行步骤 "make" 时出现编译错误,-fno-stack-limit
- Qt creator语言 - fno-elide-constructors 不起作用
- std:任何没有RTTI的,它是如何工作的
- "-fno-semantic-interposition"与"-fvisibility=p
- 启用和禁用 RTTI 的模块之间的兼容性
- 使用 gcc 的 -fno-math-errno 可能有什么副作用?
- 在Macbook Pro上实现clang -fno-stack-protector编译代码时出现问题
- 为什么仅 -fno-signed-0 就可以实现优化,而似乎也需要 -ffinite-math-only (gcc)
- clang, std::function and -fno-rtti
- 如何检查库是否使用 -fno-rtti 编译
- 编译时将fno-rtti-lib和rtti-lib合并
- 错误:无法将typeid与-fno rtti一起使用
- 在关闭RTTI的情况下增强简单类的序列化(-fno-rtti)
- Visual Studio 如何将 boost::function 与 /GR- 一起使用,而 GCC 不能使用 -fno-rtti?
- 使用-fno-rtti编译的共享库中的子类