c++ - 在 Windows 上构建 Gstreamer 1.0.5

标签 c++ gstreamer glib

我按照自述文件中的描述设置了项目,并安装并编译了 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,也遇到了同样的问题。以下两个线程(12)也讨论了相关问题。

在我的例子中,只需添加

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

之前

struct _GMutex GMutex;

关于c++ - 在 Windows 上构建 Gstreamer 1.0.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319414/

相关文章:

c - Valgrind 使用 g_test_trap_subprocess () 给出可能丢失的内存

c++ - 我的程序中是否存在计算错误?

c++ - vector 使用的异常问题

ffmpeg 将 hls 转换为 rtsp 协议(protocol)

python - 如何在 Mac OSX 上以简单的方式安装 gst-python (gstreamer python bind)?

用于将一串十六进制数字转换为整数的 C 库函数?

c++ - 如何将引用变量递增 1

c++ - 如何在 C++ 中终止程序

c++ - 如何修复 Gstreamer 以捕获麦克风音频并缓冲或转储为原始文件,当我说话时它不保存任何内容

c - 在不调用 g_main_loop_run 的情况下使用 glib?