如何解决GStreamer 1.18.3 的 Android.mk 链接错误
我正在尝试使用 Android.mk 使用 Android ndk 版本 21.4.7075529 构建 GStreamer 版本 1.18.3,并在尝试组装时出现以下错误:
clang++: error: linker command Failed with exit code 1 (use -v to see invocation)
make: *** [/Users/jmurray/Library/Android/thirdparty/gstreamer/1.18.3/armv7/share/gst-android/ndk-build/gstreamer-1.0.mk:234
我也在使用 Gradle 插件 6.6.1 和 Android Studio 4.1.1。我总是能够使用 Android ndk 16b 成功构建 GStreamer 1.14.4,所以这些错误很奇怪。
它抛出了许多我以前从未见过的 fctnl(): bad file descriptor
错误
/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/armv7/srt-1.4.1/srtcore/core.h:217: error: undefined reference to 'operator new(unsigned int)'
/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/armv7/srt-1.4.1/srtcore/core.h:217: error: undefined reference to 'operator new(unsigned int)'
/home/jan/devel/gstreamer/cerbero/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/ios:547: error: undefined reference to 'std::__ndk1::ios_base::clear(unsigned int)'
/home/jan/devel/gstreamer/cerbero/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/iosfwd:148: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/armv7/srt-1.4.1/srtcore/core.h:217: error: undefined reference to 'operator delete(void*)'
/home/jan/devel/gstreamer/cerbero/build/sources/android_universal/armv7/srt-1.4.1/srtcore/core.h:217: error: undefined reference to 'operator delete(void*)'
/home/jan/devel/gstreamer/cerbero/build/android-ndk-21/sources/cxx-stl/llvm-libc++/include/iosfwd:148: error: undefined reference to 'std::__ndk1::ios_base::~ios_base()'
如果需要,我可以发布更多错误。如果需要,我也可以发布我的 Android.mk,但它严格遵循此处的示例:https://gitlab.freedesktop.org/gstreamer/gst-examples/-/blob/master/webrtc/android/app/src/main/jni/Android.mk
我已经尝试了所有版本的 ndk 21、GStreamer 版本 1.16.3、不同的 gradle 插件,但没有任何效果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。