教程-5的GStreamer Android SDK错误

时间:2017-09-07 12:00:45

标签: android c++ android-studio

我们已经克隆了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

请建议在上面的代码中进行哪些更改以使其运行。

1 个答案:

答案 0 :(得分:0)

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