Стандартная библиотека C ++ 17 включает в себя не работать с проектом Android в Visual Studio 2017 - PullRequest
0 голосов
/ 24 августа 2018

То, чего я пытаюсь достичь, довольно просто: я просто хочу использовать функции C ++ 17 в проекте Visual Studio Android.

Я только что взял один из примеров Visual Studio ( Новый проект -> Visual C ++ -> Кроссплатформенность -> выберите любой из этих ) и добавил #include <optional> в один из исходные файлы. Кроме того, я установил следующие свойства конфигурации:

Под Свойства конфигурации -> Общие :

  • Target API Level к более новому
  • Use of STL до LLVM libc++ shared library, но я пробовал несколько вариантов там

Под Свойства конфигурации -> C ++ -> Язык :

  • C++ Language Standard до C++17 (-std=c++1z)

Результат всегда один и тот же: сообщение об ошибке во время сборки, которое гласит:

необязательный файл не найден

Другие C ++ 17 также не работают (например, «вариант»).

Что здесь происходит? Как настроить проекты Visual Studio (примеры), чтобы можно было использовать возможности языка C ++ 17?

1 Ответ

0 голосов
/ 05 апреля 2019

У меня была та же проблема, и я решил ее для нескольких библиотек, просто используя Visual Studio 2019. Все предустановки можно перенести туда, кроме стандарта языка C ++ (-std = c ++ 1z).
Теперь могут быть включены следующие библиотеки:

#include <variant>
#include <optional>
#include <string_view>
#include <any>

А остальное до сих пор не может быть включено:

#include <memory_resource> // error
#include <charconv> // error
#include <execution> // error
#include <filesystem> // error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...