Класс подклассов из разделяемой библиотеки, скомпилированной с -fno-rtti
Я пытаюсь создать подкласс из разделяемой библиотеки, которая была скомпилирована с -fno-rtti. К сожалению, другие библиотеки в моей кодовой базе требуют -frtti. В результате я получаю ошибки ссылки, потому что суперкласс не имеет структуры typeinfo.
Ошибка, полученная при обычной компиляции:
out.o: in function typeinfo for MyClass:myclass.cpp(.data.rel.ro.): error: undefined reference to 'typeinfo for NetlinkListener'
Класс, который я хочу создать в подклассе, является классом Android в libsysutils (немного вырезано для пробела):
class NetlinkListener : public SocketListener {
char mBuffer[64 * 1024];
int mFormat;
public:
static const int NETLINK_FORMAT_ASCII = 0;
static const int NETLINK_FORMAT_BINARY = 1;
NetlinkListener(int socket);
NetlinkListener(int socket, int format);
virtual ~NetlinkListener() {}
protected:
virtual bool onDataAvailable(SocketClient *cli);
virtual void onEvent(NetlinkEvent *evt) = 0;
};
Моя заглушка выглядит так:
class MyClass: public NetlinkListener {
public:
MyClass();
virtual ~MyClass();
int start();
int stop();
protected:
virtual void onEvent(NetlinkEvent *evt);
};
Все методы в MyClass реализованы (как пустые заглушки)
Я не могу скомпилировать общую библиотеку -frtti. Есть ли способ обойти это?