我觉得这个问题有点愚蠢,但我只是找不到互联网上任何地方的解决方案。
注意: 我正在使用VS2019 C ++ 17已启用
我的问题如下: 我想使用std :: filesystem迭代目录中的文件。为此,我需要使用directory_iterator。但是,当我包含文件系统库时,它找不到directory_iterator,因此我检查了文件系统头文件。这给我带来了很多错误。我也不能使用实验性/文件系统,因为由于某种原因,路径类还会出现错误,从而使字符串函数无法使用。
但是,当我创建一个新的控制台应用程序时,它对我来说很好用。没有错误,找到directory_iterator,我可以无问题地进行迭代。
这是我尝试编译时遇到的错误的一小段:
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\experimental\filesystem(917,28): warning C4003: not enough arguments for function-like macro invocation 'concat'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\experimental\filesystem(921,1): error C2365: '_InIt': redefinition; previous definition was 'template parameter'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\experimental\filesystem(921): message : see declaration of '_InIt'
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.21.27702\include\experimental\filesystem(921,1): error C2061: syntax error: identifier '_First_InIt'