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: