Я не могу решить проблему при компиляции моего исходного кода JNI в Android с помощью ndk-build. Класс, который вызывает ошибку, как показано ниже:
class MxDataSource : public MediaSource
{
public:
MxdataSource();
virtual status_t start(MetaData *params);
virtual status_t stop();
virtual sp<MetaData> getFormat();
virtual status_t read(MediaBuffer **buffer, const MediaSource::ReadOption *options));
virtual ~MxDataSource();
void LinkMxData(MxData* data);
void DelinkMxData();
};
Здесь все виртуальные методы определены чисто в MediaSource
учебный класс. Теперь, когда я его скомпилировал, я получил следующие ошибки:
MxDataSource.cpp(.data.rel.ro+0x8):error: undefined reference to 'typeinfo for android::MediaSource'
MxDataSource.cpp(.data.rel.ro+0x18):error: undefined reference to 'typeinfo for android::MediaSource'
MxDataSource.cpp(.data.rel.ro+0x54):error: undefined reference to 'typeinfo for android::MediaSource'
Я прошел через ссылки переполнения стека с похожей проблемой, но не могу решить.
Любое направление будет благодарно.
Благодарю.
Вы ссылаетесь на MediaSource, который предварительно скомпилирован в библиотеке? Похоже, MediaSource был скомпилирован с использованием -fno-rtti, поэтому, возможно, добавление -fno-rtti исправляет это. Обеспечивает ли Android поддержку времени выполнения libsupc ++? Я не разработчик Android …
Других решений пока нет …