нет члена с именем to_string в пространстве имен std - при использовании опции компиляции C ++ 11 - PullRequest
0 голосов
/ 31 октября 2019

Я пишу приложение Native-Activity для Android в Microsoft Visual Studio 2017, используя библиотеку jh nhlomann, библиотеку только для заголовков (nlohmann / json.hpp), которая включает функцию std :: to_string ().

При компиляции я получаю "нет члена с именем 'to_string' в пространстве имен 'std'"

  • Стандарт языка C ++ определен как C ++ 11
  • gnu-libstdc ++ 4.9
  • string.h находится в заголовочном файле

Проблема в том, что gnu_libstdc ++ 4.9 не полностью реализует C ++ 11?

Как код (json.hpp) - сторонняя библиотека, я не хочу заменять std :: to_string () своим собственным шаблоном и редактировать код библиотеки (для удобства обслуживания).

Любые предложения о том, как получитьпосле этой ошибки?

Обновление: функция находится в basic_string.h, но имеет значение:

#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \
     && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))

, если I -D_GLIBCXX_USE_C99, std :: tostring () распознается, но яполучить множество новых ошибок для 'wcstold', 'wcstoll', ... и т. д.

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