我正在尝试将日志集成到我的Windows C++应用程序中,我想使用Pantheios,因为它通常都有非常好的评价。也就是说,所有的例子都使用了像PANTHEIOS_LITERAL_STRING这样的宏来包装字符串字面值,并且需要像这样的类型定义:
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,但得到了很多构建错误--有什么想法吗?
发布于 2011-06-21 09:06:13
正如你已经观察到的,文件后端假设在多字节构建中使用多字节输出,默认情况下在宽构建中使用宽输出,但是IIRC有一些初始化选项(用于be.file),允许你以某种方式强制它,而不管你是如何构建的。
顺便说一句,我认为这些例子必须考虑到所有的排列,这就是为什么你报告的“丑陋”在那里。如果您只针对一种或另一种字符编码进行构建,则不必这样做。非常类似于使用TCHAR和所有_tcsXXX()函数的Windows代码示例:除非您希望代码同时使用这两个函数,否则您不必这样做。
HTH
https://stackoverflow.com/questions/6418442
复制相似问题