2013-03-10 47 views
2

我有自述文件中描述的項目設置,並安裝並編譯了GLib 2.28.8。當我開始編譯gstreamer時,我收到了數千個錯誤,這些錯誤向我表明構建設置或GLib版本有問題。我無法找到其他GLib版本的Windows的簡單源碼(我已經嘗試過GLib的開發和源代碼版本:http://www.gtk.org/download/win32.php)。在Windows上構建Gstreamer 1.0.5

第一個編譯錯誤是:

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

在gstobject,鎖被定義爲:

GMutex   lock;  /* object LOCK */ 

在gthread.h定義

typedef struct _GMutex   GMutex; 

那麼,哪些Visual Studio的認定一切看起來都很好,但也許我忽略了一些東西。 glibconfig.h還將_GMutex *定義爲GStaticMutex,可能會干擾?

+1

是'結構_GMutex'還定義前加

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

? – Pubby 2013-03-10 06:05:13

+0

在glibconfig.h中,有這樣的: typedef struct _GMutex * GStaticMutex; – 2013-03-10 06:19:06

+0

typdef定義了GStaticMutex,請檢查struct _GMutex本身的定義。 – wimh 2013-03-10 10:47:49

回答

0

也許你應該嘗試更新您的油嘴到2.32.0

我成功打造的GStreamer-1.0.5都在Linux和Windows XP,用油滑2.32.4

見configure.ac

DNL GLib的

GLIB_REQ = 2.32.0

AG_GST_GLIB_CHECK([$ GLIB_REQ])

2

我使用的是glib.2.28.8,也遇到了同樣的問題。以下兩個線程(12)也討論相關問題。

對我來說,只是

struct _GMutex GMutex; 
+0

啊 - 很高興知道有一個解決方案。感謝您的跟蹤。對於從原始問題到這裏的任何人,gstreamer已經開始爲所有平臺推出構建版本:http://gstreamer.freedesktop.org/download/ – 2014-02-27 21:00:36