Spdlog 和 VS2019 Intellisense 错误

Posted

技术标签:

【中文标题】Spdlog 和 VS2019 Intellisense 错误【英文标题】:Spdlog and VS2019 Intellisense errors 【发布时间】:2021-10-08 08:35:34 【问题描述】:

我正在使用 VS2019 (16.11.3) 和 Spdlog 1.9.2。

这是我正在使用的代码:

auto logger = std::make_shared<spdlog::logger>("CORE", std::begin(sinks), std::end(sinks));

logger->log(spdlog::level::info, "This works");

std::string test = "testtest";
logger->log(spdlog::level::info, "This does not ", test);

代码编译并正常工作,但是 VS2019 的 Intellisense 给出了这个错误couldn't match type fmt::format_string&lt;Args...&gt; against const char[17]

我已经删除了我的 .vs 文件夹并重新启动了 Visual Studio,但无济于事。

我还能做什么?我有什么明显的遗漏吗?

提前致谢。

【问题讨论】:

【参考方案1】:

错误原因是函数参数不匹配。您给的图片中已经显示了函数的匹配参数类型。您可以参考和修改您的参数列表。

【讨论】:

我不明白:上面的代码编译得很好,这是一个智能感知问题,你建议如何更改代码? 我在你的程序中发现了一个警告,你能提供警告的原因吗?智能错误的修改,可以参考这个link。

以上是关于Spdlog 和 VS2019 Intellisense 错误的主要内容,如果未能解决你的问题,请参考以下文章

为自定义类型扩展 spdlog

使用 spdlog (C++) 记录,记录器未将日志写入文件

SPDLOG_LOGGER_CALL 和 __VA_ARGS__ 在

spdlog:无法刷新/写入文件

在 CMake 项目中找不到 spdlog.h

spdlog源码分析