2012-08-16 85 views
2

雖然交叉編譯GLib 2.32.4使用MinGW-W64爲Win32,我遇到了以下錯誤:交叉編譯GLib庫爲Windows拋出一個錯誤「‘XDG_MIME_TYPE_UNKNOWN’未申報」

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包括。

這是我編譯庫的方式問題,還是庫的錯誤?

回答

2

我終於自己修改了源代碼。

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")); 

的庫現在編譯沒有錯誤。

+1

您可能需要向上遊發送補丁 – Ancurio 2012-08-17 07:26:46

+1

感謝您成爲利他主義者,首先在Google上擊中。爲我節省了時間! – bratao 2012-08-28 18:12:28

+0

@bratao:不客氣!我很高興知道我所經歷的所有挫折都對某人有幫助:) – 2012-08-28 19:00:11