Небольшая библиотека Unicode с открытым исходным кодом для C/C++

Если он вообще объявлен, он будет объявлен в tchar.h - откройте этот файл и проверьте. Однако, поскольку компоновщик также не может разрешить его, может показаться, что он вообще не определен в библиотеке.

Я бы не ожидал, что это сработает в Cygwin, который предназначен для поддержки Linux / GNU API в Windows - это неуместно, если вы нацелены на Windows / Microsoft API в любом случае. Более того, Cygwin использует кодировку UTF-8, а не кодировку Windows UTF-16, поэтому неудивительно, что поддержка широких символов Windows недоступна.

Если вы пишете специфичный для Windows код и хотите использовать GCC, то вам лучше использовать MinGW - это компилятор GCC с библиотекой времени выполнения Windows C. Лучшей альтернативой Cygwin, если вы хотите (истинную) среду исполнения Linux, является использование Windows Subsystem for Linux - вещь, которая делает Cygwin в значительной степени устаревшей.

16
задан Zifre 13 April 2009 в 21:53
поделиться

4 ответа

Я посмотрел на UT8-CPP и libiconv, и ни один из них, казалось, не обладал всеми необходимыми мне функциями. Так что, думаю, я просто буду использовать ICU, хотя он действительно большой. Я думаю, что есть несколько способов убрать ненужные функции и данные, поэтому я попробую это. На этой странице (в разделе «Настройка библиотеки данных ICU») описывается, как вырезать некоторые данные.

8
ответ дан 30 November 2019 в 21:46
поделиться

Ну, iconv является хорошей отправной точкой, по крайней мере.

Кроме того, поиск в Google возвращает еще один вопрос переполнения стека! Ужас! SO: библиотека Unicode Light C

8
ответ дан 30 November 2019 в 21:46
поделиться

UTF8-CPP было рекомендовано в принятом ответе на аналогичный вопрос: Переносимый и простой Unicode библиотека строк для C / C ++?

8
ответ дан 30 November 2019 в 21:46
поделиться

Сколько функций вам действительно нужно? Во многих случаях я нахожу внутреннее преобразование в один тип (например, UTF8) и обработку различных кодировок только тогда, когда загрузка или сохранение более чем достаточны. Если вы готовы потратить немного времени и написать класс для обработки этого, я уверен, что вы будете использовать его снова и снова.

У меня есть где-то один, но iirc UTF32LE / BE не тестировался: http://aaq.cc/d

Если вашему проекту действительно нужно обрабатывать различные кодировки, кроме загрузки / сохранения файлов, тогда вам, вероятно, лучше всего использовать библиотеку ...

0
ответ дан 30 November 2019 в 21:46
поделиться