Сборка Gstreamer 1.0.5 на Windows

У меня есть настройки проектов, как описано в readme, и у меня установлена ​​и компилируется GLib 2.28.8. Когда я начинаю компилировать gstreamer, я получаю тысячи ошибок, которые указывают мне, что что-то не так с настройкой сборки или с версиями GLib. Я не смог найти простой источник других версий GLib для Windows (здесь я попробовал как версию dev, так и исходники GLib: http://www.gtk.org/download/win32.php ).

Первая ошибка компиляции:

...\build\gstreamer-1.0.5\gst/gstobject.h(170): error C2079: 'lock' uses undefined struct '_GMutex'

В gstobject блокировка определяется как:

GMutex         lock;        /* object LOCK */

Какие Visual Studio находит, как определено в gthread.h

typedef struct _GMutex          GMutex;

Так что все выглядит хорошо для меня, но, может быть, я что-то упускаю. glibconfig.h также определяет _GMutex * как GStaticMutex, это может мешать?

2

Решение

Я использую glib.2.28.8, также столкнулся с той же проблемой. Следующие две темы (1 а также 2) также обсудить связанную с этим проблему.

В моем случае просто добавьте

struct _GMutex
{
/*< private >*/
gpointer p;
guint i[2];
};

до

struct _GMutex GMutex;
2

Другие решения

Может быть, вы должны попытаться обновить ваш Glib до 2.32.0

Я успешно собираю GStreamer-1.0.5 как на Linux, так и на Windows XP, с помощью Glib 2.32.4

Смотрите configure.ac

dnl GLib

GLIB_REQ = 2.32.0

AG_GST_GLIB_CHECK ([$ GLIB_REQ])

0

По вопросам рекламы [email protected]