[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

gettext в Debian и кросскомпиляция



Перевёл программку, используя gettext.
Работает.

Использую autotools. gettextize мне добавил в configure.in макрос
AM_GNU_GETTEXT([external]).
Я попробовал установить исходники gettext через gettextize --intl, убрав external.
Скомпилировалось, заработало, писало по-русски (потом сломалось и не
компилировалось из-за отсутствия _rtl_realloc, который, видимо надо было
включить в gnulib).

Не нравится то, что опция --intl помечена, как deprecated и, что консоль windows
не понимает UTF-8.

Я сделал без gettextize --intl. В gnulib добавил gettext.
Под Linux всё собирается и работает нормально.
Под Windows всё компилируется, запускается, но пишет по-английски.
Из libintl и libiconv, естественно, ничего не импортирует.
В gnul_lib/lib/gettext.h есть странная конструкция:
/* NLS can be disabled through the configure --disable-nls option.  */
#if ENABLE_NLS

Её убираю, он говорит, что не может подключить libintl (что логично, потому что
его нет для mingw):
/* Get declarations of GNU message catalog functions.  */
# include <libintl.h>
...i586-mingw32msvc-gcc -DLOCALE_DIR=\"locale\" -DHAVE_CONFIG_H -I.
-I../gnu_lib/lib -I../gnu_lib/lib    -s -O2  -MT actions.o -MD -MP -MF
.deps/actions.Tpo -c -o actions.o actions.c
In file included from common.h:22,
                 from actions.h:8,
                 from actions.c:2:
../gnu_lib/lib/gettext.h:26:22: error: libintl.h: Нет такого файла или каталога


Основной вопрос: как это исправить?

И очень хочется знать, как сделать так, чтобы в консоли windows всё печаталось
по-русски?
Есть ли библиотечные функции перекодировки в cp-866?


Reply to: