.data.rel.ro+0x8 错误:未定义对"typeinfo for android::MediaSource"的引用
.data.rel.ro+0x8 error: undefined reference to 'typeinfo for android::MediaSource'
在android中使用ndk-build编译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链接与类似的问题,但无法解决。任何方向都将感激不尽。
谢谢。
您是否链接到在库中预编译的MediaSource ?看起来MediaSource是使用-fno-rtti编译的,这可能是添加-fno-rtti修复它的原因。Android提供libsupc++运行时支持吗?我不是android开发者…
相关文章:
- Android Java USB for native cpp
- Compile bzip2 for Android?
- Qt QML for Android bugs
- Android Studio 3.1.2 - 无法运行C++子例程"No implementation found for Java.lang.String..."
- TensorFlow C++ example for Android
- 在 Centos 7 上交叉编译 protobuf 2.5.0 for Android
- 如何构建和安装 OpenCV+contrib .so 库 for Android
- 使用 NDK for Android 编写 OpenGL 代码
- 在 OpenGL ES for Android 中运行时创建大型纹理的最有效方法
- Compiling C++ gRPC for Android
- Qt for Android:Jni - 不幸的是,应用程序已停止
- 如何使用 jni.h for Android
- Building dlib for android ndk
- Tensorflow Quantized Graph for Android
- Googletest for Android NDK
- openCV for Android - NOT opencv-android-sdk
- C++ library for android
- 如何在 Qt/QML for Android 中创建网页的缩略图
- 我需要解释 JNI for Android 的代码行
- 在windows平台上使用libVLC for Android