在Windows上构建Gstreamer 1.0.5

时间:2013-03-10 05:58:52

标签: c++ gstreamer glib

我按照自述文件中的说明设置项目,并安装和编译了GLib 2.28.8。当我编译gstreamer时,我收到了数以千计的错误,这些错误向我表明构建设置或GLib版本存在问题。我找不到其他GLib版本的简单源代码(我在这里尝试了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中,lock定义为:

GMutex         lock;        /* object LOCK */

Visual Studio在gthread.h中定义的

typedef struct _GMutex          GMutex;

所以一切看起来都很好,但也许我忽略了一些东西。 glibconfig.h还将_GMutex *定义为GStaticMutex,可能会干扰吗?

2 个答案:

答案 0 :(得分:2)

我使用的是glib.2.28.8,也遇到了同样的问题。以下两个主题(12)也讨论了相关问题。

在我的情况下,只需添加

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

struct _GMutex GMutex;

答案 1 :(得分:0)

也许您应该尝试将Glib更新为2.32.0

我在Linux和Windows Xp上使用Glib 2.32.4成功构建了GStreamer-1.0.5

请参阅configure.ac

dnl GLib

GLIB_REQ = 2.32.0

AG_GST_GLIB_CHECK([$ GLIB_REQ])