Если он вообще объявлен, он будет объявлен в 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 в значительной степени устаревшей.
Я посмотрел на UT8-CPP и libiconv, и ни один из них, казалось, не обладал всеми необходимыми мне функциями. Так что, думаю, я просто буду использовать ICU, хотя он действительно большой. Я думаю, что есть несколько способов убрать ненужные функции и данные, поэтому я попробую это. На этой странице (в разделе «Настройка библиотеки данных ICU») описывается, как вырезать некоторые данные.
Ну, iconv является хорошей отправной точкой, по крайней мере.
Кроме того, поиск в Google возвращает еще один вопрос переполнения стека! Ужас! SO: библиотека Unicode Light C
UTF8-CPP было рекомендовано в принятом ответе на аналогичный вопрос: Переносимый и простой Unicode библиотека строк для C / C ++?
Сколько функций вам действительно нужно? Во многих случаях я нахожу внутреннее преобразование в один тип (например, UTF8) и обработку различных кодировок только тогда, когда загрузка или сохранение более чем достаточны. Если вы готовы потратить немного времени и написать класс для обработки этого, я уверен, что вы будете использовать его снова и снова.
У меня есть где-то один, но iirc UTF32LE / BE не тестировался: http://aaq.cc/d
Если вашему проекту действительно нужно обрабатывать различные кодировки, кроме загрузки / сохранения файлов, тогда вам, вероятно, лучше всего использовать библиотеку ...