构建 gstreamer_ndk_bundle

构建 gstreamer_ndk_bundle

我正在尝试在 Ubuntu 12.4 下构建 gstreamer_ndk_bundle,但失败了!我已经安装了所有“glib-dev”软件包(名称中包含glib和的软件包dev),并且我还尝试从源代码编译/安装 glib 2.33.1(最新版本),但我总是收到此错误:

/home/marko/gstreamer_ndk_bundle/jni/../glib/gobject/gmarshal.c:149: undefined reference to `g_value_get_schar'
collect2: ld returned 1 exit status
make: *** [/home/marko/gstreamer_ndk_bundle/obj/local/armeabi/libgobject-2.0.so] Error 1

这意味着 glib 源没有 的定义g_value_get_schar,而且由于该函数是在 glib 2.30.0 版本之后的某个地方引入的,所以我猜测我没有使用正确的 glib!

/home/marko/glib-2.33.1/我尝试通过导出以下环境变量来强制 gstremaer_ndk_bundle 使用我编译/安装的文件夹中的源进行构建:

GLIB_GENMARSHAL=/home/marko/glib-2.33.1/gobject/glib-genmarshal 
GLIB_COMPILE_SCHEMAS=/home/marko/glib-2.33.1/gio/glib-compile-schemas

我也进行了更改gmarshal.h,以便它包含gmarshal.h已安装的 glib 文件夹:

#ifndef _marko_glib_loaded
#define _marko_glib_loaded
#include "/home/marko/glib-2.33.1/gobject/gmarshal.h"
#endif

但两次都失败了。

  • 我如何知道编译 gstreamer 时使用了哪个 glib 并安装正确的 glib?
  • 我如何强制 gstreamer_ndk_bundle 使用我已解压/配置/安装的文件夹中的 glib 源而不是系统源或它使用的任何源?
  • 我在某处读到,如果在编译时不断出现此错误,则需要gstreamer-devel软件包。我在哪里可以找到该软件包?!无法通过 Google 找到它...
  • 有没有人曾经构建过 gstreamer_ndk_bundle 并且活着讲述这个故事?

答案1

--enable-debug=no在 中设置了标志glib/Android.mk。链接错误消失了。试试这个。PS 您必须开始./setup.sh重新配置所有软件包。

相关内容