1

我正在尝试将日志记录集成到我的 Windows C++ 应用程序中,并且我想使用 Pantheios,因为它通常有非常好的评论。也就是说,包含的所有示例都使用诸如 PANTHEIOS_LITERAL_STRING 等宏来包装字符串文字,并且需要如下类型定义:

typedef std::basic_string<PAN_CHAR_T> string_t;

正确编译。我认为这很丑陋,并且宁愿不使用这些 typedef。

这是一个例子: http: //www.pantheios.org/doc/html/cpp_2misc_2example_8cpp_8misc_8strings_2example_8cpp_8misc_8strings_8cpp-example.html

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

4

1 回答 1

1

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

首先,我认为这些示例必须考虑所有排列,这就是您报告的“丑陋”存在的原因。如果您只构建一个字符编码或另一个,则不必这样做。非常类似于使用 TCHAR 和所有 _tcsXXX() 函数的 Windows 编码示例:除非您希望您的代码同时使用两者,否则您不必这样做。

高温高压

于 2011-06-21T01:06:12.833 回答