我正在尝试从官方网站上运行gstreamer的android教程。第一个教程运行良好,因为它不使用任何插件。但我不能让其他的都正常工作。在第二个教程中,问题是其中一个插件没有找到:自动音频链接。
Android Studio打开了一个文件"/home/borlea/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld.gold“,但其中没有任何易于理解的内容,我得到了以下错误:
错误:错误:找不到-lgstautoaudiosink
错误:错误:对'gst_plugin_autoaudiosink_register‘的引用未定义
错误:错误:链接器命令失败,退出代码为%1(使用-v查看调用)
这是我的Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := tutorial-2
LOCAL_SRC_FILES := tutorial-2.c
LOCAL_SHARED_LIBRARIES := gstreamer_android
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
GSTREAMER_ROOT_ANDROID := /home/borlea/Downloads/gstreamer-1.0-android-universal-1.12.3
ifndef GSTREAMER_ROOT_ANDROID
$(error GSTREAMER_ROOT_ANDROID is not defined!)
endif
ifeq ($(TARGET_ARCH_ABI),armeabi)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/arm
else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/armv7
else ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/arm64
else ifeq ($(TARGET_ARCH_ABI),x86)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/x86
else ifeq ($(TARGET_ARCH_ABI),x86_64)
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)/x86_64
else
$(error Target arch ABI not supported: $(TARGET_ARCH_ABI))
endif
GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/
include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS := audiotestsrc audioconvert audioresample autoaudiosink
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk我做错了什么?
build error的打印屏幕:

提前谢谢。
发布于 2017-10-17 21:52:33
我在尝试教程时也遇到了同样的错误,如果我没记错的话,问题出在Android Studio和Android.mk之间的链接上。要解决它,你必须:
在新窗口中,右键单击左侧导航选项卡中的“”
“
希望这将修复错误,但另一个错误将出现。这些教程的主要问题是它是为eclipse制作的。所以,在研究了NDK、makefile.mk GStreamer和Android Studio的工作原理之后,我一步步地了解了如何在Android Studio上运行所有这些教程。
我给出的答案的链接是:Gstreamer examples in Android Studio
在那里你可以找到图片(这是本教程的第二步)。
https://stackoverflow.com/questions/46755463
复制相似问题