C++17 标准库包括不使用 Visual Studio 2017 中的 Android 项目
Posted
技术标签:
【中文标题】C++17 标准库包括不使用 Visual Studio 2017 中的 Android 项目【英文标题】:C++17 standard library includes not working with Android project in Visual Studio 2017 【发布时间】:2018-08-24 15:31:50 【问题描述】:我想要实现的目标非常简单:我只想在 Visual Studio android 项目中使用 C++17 功能。
我刚刚采用了一个 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】:我遇到了同样的问题,并通过简单地使用 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
【讨论】:
以上是关于C++17 标准库包括不使用 Visual Studio 2017 中的 Android 项目的主要内容,如果未能解决你的问题,请参考以下文章
Windows Visual Studio 2015、C++11 标准和 Armadillo 库
c_cpp 使用文件系统库的一个技巧就好像有一个标准的C ++ 17。
有没有办法在 Visual Studio 2019 中发布 .NET 标准库而不生成 .nupkg?