1.github下载spdlog1.15.0源码,该版本无需改动即可适配msvc2015。最新版不行,要求更高版本C++标准库。
2.spdlog默认不支持QString的输出,需要扩展fmt,改动如下:
打开format-inl.h,找到
template <> struct formatter<detail::bigint> {
这行代码,在这行代码上一行增加以下代码:
// for QString
template <> struct formatter<QString> {
FMT_CONSTEXPR auto parse(format_parse_context& ctx)
-> format_parse_context::iterator {
return ctx.begin();
}
auto format(const QString& qstr, format_context& ctx) const
-> format_context::iterator {
return format_to(ctx.out(), "{}", qstr.toStdString());
}
};
增加后,效果如下图:
之后,便可以愉快的使用了。
QString str="TEST";
spdlog::info("test:{}",str);