spdlog调用log报错
时间: 2023-08-11 20:06:38 浏览: 171
您好!关于 spdlog 调用 log 报错的问题,我需要更多的信息来帮助您解决。请提供以下信息:
1. 您遇到的具体错误信息是什么?
2. 您使用的是哪个版本的 spdlog?
3. 您正在使用 spdlog 的哪个 API 进行 log 调用?
4. 您的操作系统是什么?
5. 您是否在正确的环境中设置了 spdlog 的依赖和配置?
提供这些信息将有助于我更好地理解您的问题,并给出相应的解决方案。
相关问题
包含了spdlog的库且调用没有问题,但是 auto myLogger1 = std::make_shared<spdlog::sinks::daily_file_sink>("spdlog", "logs/log.txt", 0, 0);这一行代码会报错NO matching function for call to "make_shared"
如果你确定已经正确包含了 `spdlog` 库的头文件和链接了该库,但是仍然出现了 "NO matching function for call to `make_shared`" 的错误,那么可能是因为你使用的 `spdlog` 版本不同导致的。
在不同版本的 `spdlog` 中,可能存在不同的构造函数重载或函数签名,如果你的代码中使用了不兼容的函数签名或构造函数重载,就会出现这个错误。
你可以检查一下你使用的 `spdlog` 版本是否与你的代码兼容,如果不兼容,可以尝试升级或降级 `spdlog` 版本,或者修改你的代码以适应新的 `spdlog` 版本。另外,还可以尝试使用其他可用的构造函数或函数签名来创建 `daily_file_sink` 对象。
如果你仍然无法解决这个问题,请提供更多的代码和错误信息,这样我才能更好地帮助你。
static SPDLOG& getInstance() { static SPDLOG instance; return instance; }
这段代码是一个单例模式的实现,它确保在程序运行期间只有一个SPDLOG实例被创建。其中,getInstance()函数是一个静态函数,用于返回SPDLOG实例的引用。instance对象是一个静态局部变量,只会在getInstance()函数第一次被调用时被创建,之后每次调用getInstance()函数都会返回同一个instance实例的引用。
单例模式在需要保证全局唯一性的情况下非常有用,例如在日志系统中,只需要一个日志实例即可,因此可以使用单例模式来保证全局唯一性。
阅读全文