c++ 17中的文件系统名称空间问题



访问文件系统命名空间有问题-

问题:

  • ">符号'filesystem'无法解析" '

主要研究:

  1. 如何使用C或c++获得目录中的文件列表?- Stack Overflow

  2. c++ 17 Filesystem - Codingame

设置:

  1. GCC/G + +: 9.2.0

  2. c++: c++ 17

演示:

文件演示
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;

int main(void) {    
return 0;
}

我已经尝试了std::实验变体,但没有成功。我怎样才能得到c++ 17呢?<filesystem>API工作吗?

溶液更新:

谢谢你p Kramer, w/MSYS2我能很快找到解决方案。

程序:

Get MSYS2 (MSYS2 -x86_64-20210725.exe)
  • 运行安装程序(@loc C:Swmsys64)
  • pacman -Syu
  • pacman - su
  • pacman -S——required base-devel mingw-w64-x86_64-toolchain
  • 检查w/cmd (C:Swmsys64mingw64bin)
  • gcc -v (gcc v10.3.0)
  • 添加路径(C:Swmsys64mingw64bin, C:Swmsys64usrbin)
  • 重新启动Eclipse
  • 演示编译确认c++ 17 (__cplusplus == 201703L)
  • 使用它!
  • 最终工作演示

    https://gcc.gnu.org/gcc-9/changes.html提到windows上不完整的文件系统实现。进入编译器资源管理器,先用gcc 9.2编译示例。请看这里:https://godbolt.org/z/q9vTcernn这确实会失败,如果您更改为最新的gcc (windows),一切都可以正常编译。

    所以问题是你使用的编译器版本。

    最新更新