3

readme の説明に従ってプロジェクトをセットアップし、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 */

gthread.h で定義されているように Visual Studio が検出するもの

typedef struct _GMutex          GMutex;

だから、私にはすべて問題ないように見えますが、何かを見落としているのかもしれません。glibconfig.h も _GMutex* を GStaticMutex として定義していますが、それが干渉している可能性はありますか?

4

2 に答える 2

2

私はglib.2.28.8を使用していますが、同じ問題が発生しました。次の 2 つのスレッド ( 1および2 ) でも、関連する問題が議論されています。

私の場合、追加するだけです

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

struct _GMutex GMutex;
于 2014-02-27T17:45:14.287 に答える
0

たぶんあなたはあなたのGlibを​​2.32.0にアップデートしようとするべきです

LinuxとWindowsXPの両方でGlib2.32.4を使用して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 に答える