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'

同様の問題でスタックオーバーフローのリンクを調べましたが、解決できません。どんな方向でも感謝します。

ありがとう。

4

1 に答える 1

1

ライブラリでプリコンパイルされている MediaSource にリンクしていますか? MediaSource は -fno-rtti を使用してコンパイルされたようです。これが -fno-rtti を追加すると修正される可能性があります。Android は libsupc++ ランタイム サポートを提供しますか? 私はアンドロイド開発者ではありません...

于 2014-04-10T23:37:53.200 に答える