при переносе моего проекта Visual C ++ в GCC я обнаружил, что тип данных wchar_t является 4-байтовым UTF-32 по умолчанию. Я мог бы переопределить это с помощью опции компилятора, но тогда вся часть RTL wcs * (wcslen, wcscmp и т. Д.) Будет выведена из строя, так как она принимает строки длиной 4 байта.
На данный момент я переопределил 5-6 этих функций с нуля и # определил мои реализации в. Но есть ли более элегантный вариант - скажем, сборка GCC RTL с 2-байтовым wchar-t, где-то спокойно , ожидая, чтобы быть связанным?
Конкретные разновидности GCC, которые мне нужны, - это Xcode на Mac OS X, Cygwin и тот, который поставляется с Debian Linux Etch.