45

为了使用:std::filesystem从C++17库,我的项目从vs2015迁移到vs2017。

我的项目编译并运行没有错误,包含的库没有错误,但是在尝试使用时std::filesystem我得到以下信息:

1

似乎图书馆没有被包括在内,但看不出为什么不包括在内?

编辑:

Microsoft Visual Studio Enterprise 2017
VisualStudio.15.Release/15.7.3+27703.2026
Visual C++ 2017   00369-90000-00000-AA466
Microsoft Visual C++ 2017
4

2 回答 2

78

有几个可供调查的选项。

  • 检查语言标准。您需要 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
于 2018-06-03T17:22:13.157 回答
2

我有一个常见问题,文件系统不被识别为仅适用于 Linux 环境的std成员(在 Windows 上很好)。

对我来说,#include <filesystem>在 .hpp 文件中添加也解决了这个问题(虽然理论上我不需要这个包含)。

于 2021-08-09T14:41:40.900 回答