Veg*_*ga4 4 c++ visual-studio c++17 visual-studio-2019
现在,在“升级”到“更新”版本的编译器之后,我没想到会这样。
在 VS2017 中 std::filesystem 可通过 std::experimental::filesystem 获得,现在升级到 VS2019 后令我惊讶的是它根本不可用。不在 std::experimental 或 std::filesystem 中。
是的,我已经尝试从项目的设置中设置 c++17,甚至是“最新草案”的东西,有什么想法吗?
use*_*087 15
为了完整性和人们在未来搜索这个。
要在 Visual Studio 中切换到 C++17' std::filesystem(无论 VS2019 还是 VS2017),您需要:
#include <experimental/filesystem>为#include <filesystem>std::experimental::filesystem为std::filesystem对于那些努力将现有 Visual Studio 2017 项目移植到 Visual Studio 2019 的人来说,拥有正确的项目设置并无济于事:在文件 VC\Tools\MSVC\14.26.28801\include\filesystem 中有:
#if !_HAS_CXX17
现在,我不知道为什么在更改项目设置时不会自动设置此标志。因此我用过:
#define _HAS_CXX17 1
#include <filesystem>
Run Code Online (Sandbox Code Playgroud)
在我的文件中作为解决方法。工作正常。
更新:在另一个系统上,项目文件内有
<LanguageStandard>stdcpplatest</LanguageStandard>
<AdditionalOptions>/std:c++14 %(AdditionalOptions)</AdditionalOptions>
Run Code Online (Sandbox Code Playgroud)
后一行导致了问题(显然)。切换更高级别的项目设置不会删除此类可选设置(显然)。
| 归档时间: |
|
| 查看次数: |
6142 次 |
| 最近记录: |