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。この関数はバージョン 2.30.0 以降のどこかで glib に導入されたため、適切な 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

また、インストールされた glib フォルダーからgmarshal.h含まれるように変更しました:gmarshal.h

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

しかし、どちらの場合も失敗しました。

  • gstreamer をコンパイルするときにどの glib が使用されているかを確認し、適切なものをインストールするにはどうすればよいでしょうか?
  • gstreamer_ndk_bundle に、システムのソースやそれが使用するソースではなく、展開/構成/インストールしたフォルダーの glib ソースを使用させるにはどうすればよいですか?
  • コンパイル中にこのエラーが引き続き発生する場合はパッケージが必要であるとどこかで読みましたgstreamer-devel。そのパッケージはどこで見つかりますか?! Google で検索できません...
  • gstreamer_ndk_bundle をビルドして生き残った人はいますか?

答え1

--enable-debug=noにフラグを設定しましたglib/Android.mk。するとリンク エラーはなくなりました。これを試してください。PS./setup.shすべてのパッケージの再構成を開始する必要があります。

関連情報