Pantheios широкие символы? - PullRequest
1 голос
/ 21 июня 2011

Я пытаюсь интегрировать регистрацию в свое приложение Windows C ++, и я хотел использовать Pantheios, так как он обычно имеет очень хорошие комментарии.Тем не менее, все включенные примеры используют макросы, такие как PANTHEIOS_LITERAL_STRING и т. Д., Для переноса строковых литералов и требуют typedefs вроде:

typedef std::basic_string<PAN_CHAR_T> string_t;

для правильной компиляции.Я думаю, что это безобразно, и я бы предпочел не использовать эти typedefs.

Вот пример: http://www.pantheios.org/doc/html/cpp_2misc_2example_8cpp_8misc_8strings_2example_8cpp_8misc_8strings_8cpp-example.html

Я попытался скомпилировать Pantheios с отключенным PANTHEIOS_USE_WIDE_STRINGS, но получил много ошибок при сборке - есть идеи?

1 Ответ

1 голос
/ 21 июня 2011

Как вы уже заметили, файловый бэкэнд предполагает многобайтовый вывод в многобайтовой сборке и широкий вывод в широкой сборке по умолчанию, но в IIRC есть опции инициализации (для be.file), которые позволяют принудительно выполнить его одним илидругой, независимо от того, как вы строите.

fwiw, я думаю, что примеры должны учитывать все перестановки, и именно поэтому «уродство», о котором вы сообщаете, присутствует.Если вы строите только для одной или другой кодировки, вам не нужно этого делать.Очень похоже на примеры кодирования Windows, которые используют TCHAR и все функции _tcsXXX (): вам не нужно делать это, если вы не хотите, чтобы ваш код работал с обоими.

HTH

...