建構 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

我還進行了更改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如果我在編譯時不斷收到此錯誤,我需要套件。我可以在哪裡找到那個包裹?谷歌搜不出來啊...
  • 有沒有人曾經建構過 gstreamer_ndk_bundle 並活著講述這個故事?

答案1

--enable-debug=no在 中設置了標誌glib/Android.mk。而連結錯誤消失了。嘗試這個。 PS 你必須開始./setup.sh重新配置所有的套件。

相關內容