Кросс-компиляция GLib для Windows выдает необъявленную ошибку «XDG_MIME_TYPE_UNKNOWN»

При кросс-компиляции GLib 2.32.4 с Mingw-w64 для Win32, я столкнулся со следующей ошибкой:

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.

Это проблема с тем, как я компилирую библиотеку, или это ошибка библиотеки?


person Nathan Osman    schedule 16.08.2012    source источник


Ответы (1)


Наконец-то я сам исправил исходный код.

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

Теперь библиотека компилируется без ошибок.

person Nathan Osman    schedule 17.08.2012
comment
Возможно, вы захотите отправить патч в восходящий поток - person Ancurio; 17.08.2012
comment
Спасибо за альтруизм, первый хит в Google. Сэкономил мне время! - person bratao; 28.08.2012
comment
@bratao: Добро пожаловать! Я рад узнать, что все разочарования, через которые я прошел, были кому-то полезны :) - person Nathan Osman; 28.08.2012