Я недавно начал портировать приложение на Android с помощью NDK, и я столкнулся со следующей ошибкой:
boost/function/function_base.hpp:220: error: cannot use typeid with -fno-rtti.
Обычно, я бы не подумал дважды об этой ошибке, но набор файлов проекта Visual Studio /GR-
, который отключает RTTI и не имеет проблем с использованием boost :: function.
Моя теория заключается в том, что, поскольку typeid вычисляется компилятором, когда можно определить статический тип, это должно иметь место для каждогоиспользование boost :: function в приложении.Visual Studio должна сначала попытаться определить статический тип, в то время как GCC немедленно выдает ошибку typeid, прежде чем пытаться ее оценить.
Это звучит правильно?Если нет, то что происходит?