Pantheios宽字符?

我试图将日志整合到我的Windows C ++应用程序中,并且我想使用Pantheios,因为它通常有非常好的评论。 也就是说,包括的所有例子都使用像PANTHEIOS_LITERAL_STRING等macros来包装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_USE_WIDE_STRINGS禁用编译Pantheios,但得到很多构build错误 – 任何想法?

正如你所观察到的,文件后端在多字节构建中假设多字节输出,默认情况下在宽构建中宽输出,但是IIRC有初始化选项(对于be.file),允许你以某种方式强制它,不管你如何建设。

我认为这些例子必须考虑到所有的排列,这就是为什么你所报告的“丑陋”。 如果你只是建立一个字符编码或另一个,你不必这样做。 非常像使用TCHAR和所有_tcsXXX()函数的Windows编码示例:除非您希望代码与两者兼容,否则不必这样做。

HTH