【问题标题】:GStreamer Android SDK error for tutorial-5教程 5 的 GStreamer Android SDK 错误
【发布时间】:2017-09-07 12:00:44
【问题描述】:

我们已经克隆了project,并按照说明进行了所有设置,但由于以下错误,仍然无法构建应用程序: 错误:(7, 10) 致命错误:找不到“gst/gst.h”文件

上面的错误在tutorial.c文件中:

#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/videooverlay.h>
#include <pthread.h>

GST_DEBUG_CATEGORY_STATIC (debug_category);
#define GST_CAT_DEFAULT debug_category

请在下面找到我添加到项目中的 gradle 和 Android.mk 文件: 摇篮

android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.example.ndktest"
minSdkVersion 19
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
arguments '-DANDROID_TOOLCHAIN=clang',
'-DANDROID_PLATFORM=android-19',
'-DANDROID_STL=gnustl_static',
'-DANDROID_ARM_NEON=TRUE',
'-DANDROID_CPP_FEATURES=exceptions rtti'

        }
    }
    ndk {
        moduleName "tutorial-5"
    }
}

sourceSets.main {
    jni.srcDirs = []
    jniLibs.srcDir new File(buildDir, 'lib')

}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}
}

Android.mk

LOCAL_PATH := $(call my-dir)

GSTREAMER_ROOT_ANDROID := D:\ndk-gst1.9.1

SHELL := PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /bin/bash

include $(CLEAR_VARS)

LOCAL_MODULE := tutorial-5
LOCAL_SRC_FILES := tutorial-5.c
LOCAL_SHARED_LIBRARIES := gstreamer_android
LOCAL_LDLIBS := -llog -landroid
include $(BUILD_SHARED_LIBRARY)

ifndef GSTREAMER_ROOT
ifndef GSTREAMER_ROOT_ANDROID
$(error GSTREAMER_ROOT_ANDROID is not defined!)
endif
GSTREAMER_ROOT := $(GSTREAMER_ROOT_ANDROID)
endif
GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build

include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_CODECS_RESTRICTED)
G_IO_MODULES := gnutls
GSTREAMER_EXTRA_DEPS := gstreamer-video-1.0

include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk

请建议需要对上述代码进行哪些更改才能使其运行。

【问题讨论】:

    标签: android c++ android-studio


    【解决方案1】:

    我已经回答了一个类似的问题... Gstreamer 网站上的官方教程的问题是它们太旧并且是为 Eclipse 制作的。也许您的错误是因为您没有将您的 Android Studio 项目链接到 C++ 文件...按照此答案的 second 步骤进行操作:Gstreamer examples in Android Studio
    由于与 C++ 文件的链接并不是唯一会发生的错误,因此我还建议您遵循所有其他步骤。上面的链接中有一个带有“turorial 5”的 gitlab 项目的链接。

    【讨论】:

      猜你喜欢
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多