问题描述
我正在尝试使用 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 (将#修改为@)