3

在使用 Mingw-w64 for Win32 交叉编译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

我只能假设以下两件事之一:

  • 我缺少某种预处理器定义或./configure标志(目前我只通过--hostand --prefixto ./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 回答