VS2017: E0135 命名空间 "std" 没有成员 "filesystem"
VS2017: E0135 namespace "std" has no member "filesystem"
为了使用:std::filesystem
来自 C++17 库,我的项目从 vs2015 迁移到 vs2017。
我的项目编译和运行没有错误,包含了 lib 没有错误,但是当尝试使用 std::filesystem
我得到以下信息:
似乎没有包含该库,但看不出为什么?
编辑:
Microsoft Visual Studio Enterprise 2017
VisualStudio.15.Release/15.7.3+27703.2026
Visual C++ 2017 00369-90000-00000-AA466
Microsoft Visual C++ 2017
有几个选项可供调查。
- 检查语言标准。你需要 C++17 或更高版本:
- 如果您的 visual studio 版本还不支持
std::filesystem
,您可以尝试 std::experimental::filesystem
。
我有以下版本并且 std::filesystem
有效(使用上面显示的 C++17 语言选择):
Microsoft Visual Studio Community 2017 Preview
Version 15.8.0 Preview 1.1
VisualStudio.15.Preview/15.8.0-pre.1.1+27705.2000
我有一个常见问题,即 filesystem 未被识别为 std 成员,仅用于 Linux 环境(在 Windows 很好)。
对我来说,在 .hpp 文件中添加 #include <filesystem>
也解决了这个问题(虽然理论上,我不需要这个包含)。
为了使用:std::filesystem
来自 C++17 库,我的项目从 vs2015 迁移到 vs2017。
我的项目编译和运行没有错误,包含了 lib 没有错误,但是当尝试使用 std::filesystem
我得到以下信息:
似乎没有包含该库,但看不出为什么?
编辑:
Microsoft Visual Studio Enterprise 2017
VisualStudio.15.Release/15.7.3+27703.2026
Visual C++ 2017 00369-90000-00000-AA466
Microsoft Visual C++ 2017
有几个选项可供调查。
- 检查语言标准。你需要 C++17 或更高版本:
- 如果您的 visual studio 版本还不支持
std::filesystem
,您可以尝试std::experimental::filesystem
。
我有以下版本并且 std::filesystem
有效(使用上面显示的 C++17 语言选择):
Microsoft Visual Studio Community 2017 Preview
Version 15.8.0 Preview 1.1
VisualStudio.15.Preview/15.8.0-pre.1.1+27705.2000
我有一个常见问题,即 filesystem 未被识别为 std 成员,仅用于 Linux 环境(在 Windows 很好)。
对我来说,在 .hpp 文件中添加 #include <filesystem>
也解决了这个问题(虽然理论上,我不需要这个包含)。