Ошибка spdlog: «не знаю, как форматировать тип, включите fmt / ostream.h, если он предоставляет оператор <<, который следует использовать» - PullRequest
0 голосов
/ 22 ноября 2018

Я только что поднял spdlog, чтобы улучшить нашу регистрацию.Наша регистрация очень проста, поэтому я просто дословно копирую пример с несколькими приемниками для записи в файл и консоль.

Однако, даже если точно следовать примеру, я получаю:

Ошибка C2338 не знает, как форматировать тип, включите fmt / ostream.h, если он предоставляет оператор <<, который должен использоваться Logger d: \ tfs \ development \ bladed \ main \ external \ spdlog \ spdlog-1.x \ include \ spdlog \ fmt \ bundled \ core.h 351 </p>

Исходя из core.h:

// A formatter for objects of type T.
template <typename T, typename Char = char, typename Enable = void>
struct formatter {
  static_assert(no_formatter_error<T>::value,
    "don't know how to format the type, include fmt/ostream.h if it provides "
    "an operator<< that should be used");

Я предполагаю, что это действительно легко исправить, но я могу 'не вижу этого ...

[базовое использование Win32]

1 Ответ

0 голосов
/ 22 ноября 2018

С @PaulMcKenzie, указывающим на меня в правильном направлении, кажется, что я пытался записать тип строки, которую spdlog не может обработать по умолчанию (std :: wstrings).

Кажется, что Intellisense Visual Studioсбит с толку шаблонами, заставляя его казаться довольным моей отправкой spdlog :: warn a std :: wstring.

Решение: либо просто используйте std :: string, либо, если вы хотите использовать wstrings, вы (возможно,) необходимо определить для них формат для обычного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...