Я пытаюсь собрать gstreamer_ndk_bundle под Ubuntu 12.4, и у меня ничего не получается! Я установил все пакеты "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!
Я попытался заставить gstremaer_ndk_bundle собрать с исходниками из папки /home/marko/glib-2.33.1/
которую я скомпилировал / установил, экспортировав эти env vars:
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
Но не удалось в обоих случаях.
- Как я могу узнать, какой glib используется при компиляции gstreamer и установить нужный?
- Как я могу заставить gstreamer_ndk_bundle использовать источники glib из папки, которую я не тарировал / настроил / установил, а не системные или какие-либо другие, которые он использует?
- Я где-то читал, что мне нужен пакет
gstreamer-devel
, если я продолжаю получать эту ошибку во время компиляции. Где я могу найти этот пакет ?! Не могу Google это ... - Кто-нибудь когда-либо строил gstreamer_ndk_bundle и жил, чтобы рассказать историю?