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