在 Windows 7 上编译适用于 Android 的 Gstreamer SDK



Try to do Tutorial5 of GStreamer SDK for Android.

当我进入 Cygwin 1.7 终端上的项目目录并执行时 ndk-build

我得到

make: -n: Command not found
GStreamer      : [GEN] => gst-build/gstreamer_android.c
/bin/sh: i: command not found
/cygdrive/c/gstreamer-sdk-android-arm-debug-2012.10/share/gst-android/ndk-build/gstreamer.mk:151: recipe for target `genstatic' failed
make: [genstatic] Error 127 (ignored)
/bin/sh: i: command not found
/cygdrive/c/gstreamer-sdk-android-arm-debug-2012.10/share/gst-android/ndk-build/gstreamer.mk:151: recipe for target `genstatic' failed
make: [genstatic] Error 127 (ignored)
/bin/sh: i: command not found
/cygdrive/c/gstreamer-sdk-android-arm-debug-2012.10/share/gst-android/ndk-build/gstreamer.mk:151: recipe for target `genstatic' failed
make: [genstatic] Error 127 (ignored)
/bin/sh: i: command not found
/cygdrive/c/gstreamer-sdk-android-arm-debug-2012.10/share/gst-android/ndk-build/gstreamer.mk:151: recipe for target `genstatic' failed
make: [genstatic] Error 127 (ignored)
GStreamer      : [COMPILE] => gst-build/gstreamer_android.c
gst-build/gstreamer_android.c:1:17: fatal error: jni.h: No such file or directory
compilation terminated.
/cygdrive/c/gstreamer-sdk-android-arm-debug-2012.10/share/gst-android/ndk-build/gstreamer.mk:161: recipe for target `gst-build/gstreamer_android.o' failed
make: *** [gst-build/gstreamer_android.o] Error 1

有人知道出了什么问题吗?我检查了,我已经制作了(版本 3.82.90)

gstreamer.mk:151

# Generates a source file that declares and registers all the required plugins
genstatic:
    @$(HOST_ECHO) "GStreamer      : [GEN] => $(GSTREAMER_ANDROID_C)"
    @$(call host-mkdir,$(GSTREAMER_BUILD_DIR))
    @$(call host-cp,$(GSTREAMER_ANDROID_C_IN),$(GSTREAMER_ANDROID_C))
    @$(HOST_SED) -i "s/@PLUGINS_DECLARATION@/$(GSTREAMER_PLUGINS_DECLARE)/g" $(GSTREAMER_ANDROID_C)
    @$(HOST_SED) -i "s/@PLUGINS_REGISTRATION@/$(GSTREAMER_PLUGINS_REGISTER)/g" $(GSTREAMER_ANDROID_C)
    @$(HOST_SED) -i "s/@G_IO_MODULES_LOAD@/$(G_IO_MODULES_LOAD)/g" $(GSTREAMER_ANDROID_C)
    @$(HOST_SED) -i "s/@G_IO_MODULES_DECLARE@/$(G_IO_MODULES_DECLARE)/g" $(GSTREAMER_ANDROID_C)

问候。

确保 tools.mk 中的 shell 指向您的环境 shell

即 cygwin 中的/usr/bin/bash 或/bin/bash。

添加

ifeq ($(HOST_OS),cygwin)
  HOST_SED := $(GSTREAMER_NDK_BUILD_PATH)/tools/windows/sed
  GSTREAMER_LD :=
else
endif

到您的 gstreamer.mk

最新更新