3

Win32 用の Mingw-w64 を使用してGLib 2.32.4をクロスコンパイルしているときに、次のエラーが発生しました。

gcontenttype.c: In function 'g_content_type_guess':
gcontenttype.c:335:3: error: 'XDG_MIME_TYPE_UNKNOWN' undeclared (first use in this function)
gcontenttype.c:335:3: note: each undeclared identifier is reported only once for each function it appears in

私が推測できるのは、次の 2 つのうちの 1 つだけです。

  • ある種のプリプロセッサ定義または./configureフラグがありません (現在は--hostandのみ--prefixを渡し./configureます)。

  • ソースコードに誤りがあります。

さらに掘り下げると、次のようにXDG_MIME_TYPE_UNKNOWN定義されていることが明らかになりました。gio/xdgmime/xdgmime.h

extern const char xdg_mime_type_unknown[];
#define XDG_MIME_TYPE_UNKNOWN xdg_mime_type_unknown

ただし、このファイルはどこにも含まれていないようですgcontenttype.c

これはライブラリをコンパイルする方法の問題ですか、それともライブラリのバグですか?

4

1 に答える 1

3

ついに自分でソースコードを修正しました。

gcontenttype.c:335

g_return_val_if_fail (data_size != (gsize) -1,
                      g_strdup (XDG_MIME_TYPE_UNKNOWN));

...になる...

g_return_val_if_fail (data_size != (gsize) -1,
                      g_strdup ("application/octet-stream"));

ライブラリはエラーなしでコンパイルされるようになりました。

于 2012-08-17T07:11:56.787 に答える