Erstellen von gstreamer_ndk_bundle

Erstellen von gstreamer_ndk_bundle

Ich versuche, gstreamer_ndk_bundle unter Ubuntu 12.4 zu erstellen und scheitere kläglich! Ich habe alle „glib-dev“-Pakete installiert (Pakete, die in ihrem Namen glibund haben dev) und habe auch versucht, glib 2.33.1 (aktuellste) aus dem Quellcode zu kompilieren/installieren, aber ich erhalte immer diesen Fehler:

/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

Dies bedeutet, dass die Glib-Quelle die Definition für nicht hat g_value_get_schar, und da diese Funktion irgendwann nach Version 2.30.0 in Glib eingeführt wurde, gehe ich davon aus, dass ich kein richtiges Glib verwende!

Ich habe versucht, gstremaer_ndk_bundle zum Erstellen mit Quellen aus dem Ordner zu zwingen /home/marko/glib-2.33.1/, den ich kompiliert/installiert habe, indem ich diese Umgebungsvariablen exportiert habe:

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

Außerdem habe ich es so geändert , dass es aus dem installierten Glib-Ordner gmarshal.henthält :gmarshal.h

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

Aber in beiden Fällen schlug es fehl.

  • Wie kann ich herausfinden, welches Glib beim Kompilieren von Gstreamer verwendet wird und das richtige installieren?
  • Wie kann ich gstreamer_ndk_bundle zwingen, Glib-Quellen aus dem Ordner zu verwenden, den ich deinstalliert/konfiguriert/installiert habe, und nicht die Systemquellen oder was auch immer es verwendet?
  • Ich habe irgendwo gelesen, dass ich gstreamer-develein Paket brauche, wenn ich beim Kompilieren immer wieder diesen Fehler bekomme. Wo kann ich dieses Paket finden?! Ich kann es nicht googeln ...
  • Hat irgendjemand jemals gstreamer_ndk_bundle erstellt und überlebt, um davon zu erzählen?

Antwort1

Ich habe --enable-debug=nodas Flag gesetzt glib/Android.mk. Und der Linkfehler ist weg. Versuchen Sie Folgendes. PS: Sie müssen anfangen, ./setup.shalle Pakete neu zu konfigurieren.

verwandte Informationen