我按照自述文件中的描述设置了项目,并安装并编译了 GLib 2.28.8。当我开始编译 gstreamer 时,我收到数以千计的错误,这些错误向我表明build设置或 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,这会产生干扰吗?
最佳答案
我用的是glib.2.28.8,也遇到了同样的问题。以下两个线程(1 和2)也讨论了相关问题。
在我的例子中,只需添加
struct _GMutex
{
/*< private >*/
gpointer p;
guint i[2];
};
之前
struct _GMutex GMutex;
关于c++ - 在 Windows 上构建 Gstreamer 1.0.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319414/