潘提奥斯宽字符? 我试图将日志集成到我的Windows C++应用程序中,我想使用Pantheios,因为它通常都有非常好的注释。也就是说,包含的所有示例都使用PANTHEIOS_LITERAL_STRING等宏来包装字符串文本,并且需要typedef,如:

潘提奥斯宽字符? 我试图将日志集成到我的Windows C++应用程序中,我想使用Pantheios,因为它通常都有非常好的注释。也就是说,包含的所有示例都使用PANTHEIOS_LITERAL_STRING等宏来包装字符串文本,并且需要typedef,如:,windows,widestring,pantheios,Windows,Widestring,Pantheios,typedef std::basic_string_t 正确编译。我认为这是丑陋的,我宁愿不使用这些typedef 下面是一个例子: 我尝试在禁用Pantheios_USE_WIDE_string的情况下编译Pantheios,但出现了许多构建错误--有什么想法吗?正如您所观察到的,文件后端在多字节构建中假设多字节输出,默认情况下在宽构建中假设宽输出,但IIRC有初始化选项(对于be.file)这允许你以一种或另一种方式强制它,不管你是如何构建的 fwiw,我认为这些例子必须考虑所有的排列,这就

typedef std::basic_string_t

正确编译。我认为这是丑陋的,我宁愿不使用这些typedef

下面是一个例子:


我尝试在禁用Pantheios_USE_WIDE_string的情况下编译Pantheios,但出现了许多构建错误--有什么想法吗?

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

fwiw,我认为这些例子必须考虑所有的排列,这就是为什么你报告的“丑陋”存在的原因。如果您只为一种或另一种字符编码进行构建,则不必这样做。与使用TCHAR和所有_tcsXXX()函数的Windows编码示例非常相似:除非您希望自己的代码同时使用这两种函数,否则不必这样做


HTH

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

fwiw,我认为这些例子必须考虑所有的排列,这就是为什么你报告的“丑陋”存在的原因。如果您只为一种或另一种字符编码进行构建,则不必这样做。与使用TCHAR和所有_tcsXXX()函数的Windows编码示例非常相似:除非您希望自己的代码同时使用这两种函数,否则不必这样做


HTH

问题是什么?如何使用或不使用宽字符支持进行构建?您遇到的确切错误消息是什么?我基本上是在问我是否疯了——是否每个人都使用宽字符串库?我继续使用widestring支持,但是如果您将它们记录到文件中,会很痛苦,因为每个字符都是两个字节。所以写字板会显示日志消息,比如:我没有使用宽字符串。您的示例来自记事本normal,用于多字节字符表示。使用任何支持unicode的编辑器可以按预期查看它。我不记得它需要定义一些东西来关闭它。只需将VS解决方案更改为使用多字节字符编码,而不是默认的宽字符串字符编码wchar\t。它应该在解决方案资源管理器->属性->常规->C/C++中的某个地方。或者只是不使用“Unicode”目标。问题是什么?如何使用或不使用宽字符支持进行构建?您遇到的确切错误消息是什么?我基本上是在问我是否疯了——是否每个人都使用宽字符串库?我继续使用widestring支持,但是如果您将它们记录到文件中,会很痛苦,因为每个字符都是两个字节。所以写字板会显示日志消息,比如:我没有使用宽字符串。您的示例来自记事本normal,用于多字节字符表示。使用任何支持unicode的编辑器可以按预期查看它。我不记得它需要定义一些东西来关闭它。只需将VS解决方案更改为使用多字节字符编码,而不是默认的宽字符串字符编码wchar\t。它应该在解决方案资源管理器->属性->常规->C/C++中的某个地方。或者不要使用“Unicode”目标。