交叉编译时GLib 2.32.4使用适用于 Win32 的 Mingw-w64,我遇到了以下错误:
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
标志(目前我只传递--host
和--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
中的任何位置。
这是我编译库的方式的问题还是库的错误?
最佳答案
我终于自己修复了源代码。
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"));
库现在编译没有错误。
关于为 Windows 交叉编译 GLib 会抛出错误 "' XDG_MIME_TYPE_UNKNOWN' undeclared”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979078/