首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:对'gst_plugin_autoaudiosink_register‘的引用未定义

错误:对'gst_plugin_autoaudiosink_register‘的引用未定义
EN

Stack Overflow用户
提问于 2017-10-15 21:20:07
回答 1查看 739关注 0票数 0

我正在尝试从官方网站上运行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文件

代码语言:javascript
复制
   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的打印屏幕:

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-10-17 21:52:33

我在尝试教程时也遇到了同样的错误,如果我没记错的话,问题出在Android Studio和Android.mk之间的链接上。要解决它,你必须:

在新窗口中,右键单击左侧导航选项卡中的“”

  1. 单击"Link C++

  • Change "Build System”from "CMake“to app at "...”然后浏览到Android.mk的位置"/AndroidStudioProjects/android-studio-5/app/src/jni/Android.mk"
  • Hit OK

希望这将修复错误,但另一个错误将出现。这些教程的主要问题是它是为eclipse制作的。所以,在研究了NDK、makefile.mk GStreamer和Android Studio的工作原理之后,我一步步地了解了如何在Android Studio上运行所有这些教程。

我给出的答案的链接是:Gstreamer examples in Android Studio

在那里你可以找到图片(这是本教程的第二步)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46755463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档