我在 WSL 中运行 Ubuntu 18.04,用它来编译我的 c++ 程序。
我需要编写一个程序,获取某个目录中所有文件的名称并将它们添加到字符串向量中。浏览互联网后,我发现我可以使用“文件系统”库以简单易行的方式完成此操作。
问题是,每当我尝试使用此答案时,我都会收到错误'filesystem' has not been declared
。我怀疑发生这种情况是因为我可能没有安装文件系统库。
我已经找到了一种修复它的方法,即使用实验性功能并在编译命令中添加一个标志,但我仍然想知道是否有某种方法可以将我的 gcc 包更新为已安装库的包。
我当前的 gcc 版本是 7.5.0。
有什么办法可以做到这一点吗?
答案1
filesystem
在 g++-7.5.0 中是实验性的。
您仍然可以使用它,通过将其包含为<experimental/filesystem>
(提供命名空间std::experimental::filesystem
),并libstdc++fs
明确链接(-lstdc++fs
在 g++ 命令行上使用),如中所述C++17 中的文件系统
g++-9
或者,你可以gcc-10
从工具链-r PPA。