3

我按照自述文件中的描述设置了项目,并安装并编译了 GLib 2.28.8。当我开始编译 gstreamer 时,我收到了数千个错误,这些错误表明构建设置或 GLib 版本有问题。我找不到其他适用于 Windows 的 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 中,锁定义为:

GMutex         lock;        /* object LOCK */

Visual Studio 找到的 gthread.h 中定义的

typedef struct _GMutex          GMutex;

所以对我来说一切都很好,但也许我忽略了一些东西。glibconfig.h 还将 _GMutex* 定义为 GStaticMutex,这会不会有干扰?

4

2 回答 2

2

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

就我而言,只需添加

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

struct _GMutex GMutex;
于 2014-02-27T17:45:14.287 回答
0

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

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

请参阅 configure.ac

dnl GLib

GLIB_REQ=2.32.0

AG_GST_GLIB_CHECK([$GLIB_REQ])

于 2013-03-20T09:25:41.063 回答