0

在使用 ndk-build 在 android 中编译我的 JNI 源时,我无法解决问题。导致错误的类如下:

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'

我已经通过类似问题的stackoverflow链接但无法解决。任何方向将不胜感激。

谢谢。

4

1 回答 1

1

您是否链接到在库中预编译的 MediaSource?似乎 MediaSource 是使用 -fno-rtti 编译的,这可能是添加 -fno-rtti 修复它的原因。Android 是否提供 libsupc++ 运行时支持?我不是安卓开发者...

于 2014-04-10T23:37:53.200 回答