std :: filesystem在DLL项目中不起作用

时间:2019-09-01 18:20:43

标签: c++ filesystems std

我觉得这个问题有点愚蠢,但我只是找不到互联网上任何地方的解决方案。

注意: 我正在使用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'

0 个答案:

没有答案