我已经更新了 gcc 的版本, gcc --version 产生以下输出
gcc (Ubuntu 8.1.0-5ubuntu1~16.04) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
我可以在头文件中包含文件系统而不会出现任何错误
#include<filesystem>
但是当我尝试访问如下所示的名称空间文件系统时,我收到错误
namespace fs = std::filesystem;
错误信息
error: ‘filesystem’ is not a namespace-name
namespace fs = std::filesystem;
这似乎很奇怪,因为 gcc 8 支持 std::filesystem 并且它在命名空间中不可用,我在访问 std::filesystem 时做错了什么吗?
是的,我用 -std=c++17 构建
将文件系统库作为参数添加到编译器中,该编译器将转发给链接器。还要确保您使用的是 C++17。 g++ 和 clang++ 都接受这种特殊格式:
--std=c++17 -lstdc++fs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)