当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在g 4.9.2中使用?

姬凡
2023-03-14

我正在尝试使用文件系统。我的< code>CMakeLists.txt中有< code>-std=c 11 -std=c 1y。GCC版本为4.9.2。然而,我得到了一个错误:

/home/loom/MyProject/src/main.cpp:5:35: fatal error: experimental/filesystem: No such file or directory
 #include <experimental/filesystem>
                                   ^
compilation terminated.

使用std::experimental::filessystem的正确方法是什么?

共有1个答案

夏兴平
2023-03-14

如果我们查看libstdc状态,我们会发现它们确实支持文件系统TS:

论文|标题|状态

........

N4100|文件系统|Y

但它说:

本页描述了主线GCC SVN中的C14和库TS支持,而不是在任何特定版本中。

在Wandbox上尝试一下,看起来这个库只在最新的开发分支6.0上可用,除此之外我找不到更多细节。

[更新]

乔纳森·韦克利更新:

它现在也可以在Subversion的gcc-5分支中使用,并将在今年晚些时候包含在GCC 5.3版本中。

同样根据Jonathan Wakely的回答,我们需要使用-lstdc fs进行编译。这在gcc文档的链接部分中介绍:

GCC 5.3 包括由技术规范 ISO/IEC TS 18822:2015 定义的文件系统库的实现。因为这是一个实验性的库扩展,不是C标准的一部分,所以它是在一个单独的库libstdc fs.a中实现的,并且没有它的共享库。要使用该库,您应该包含并使用 -lstdc fs 进行链接。库实现在非 POSIX 平台上是不完整的,特别是 Windows 支持是基本的。

由于文件系统库的实验性质,关于ABI稳定性和向后兼容性的通常保证不适用于它。不能保证任何标头中的组件在不同 GCC 版本之间保持兼容。

另请参阅表3.1.C命令选项。

 类似资料:
  • 从TensorArray读取: 使用: 问题: 回溯(最近一次调用last):RLU培训中第130行的文件“\main.py”。train()文件“C:\Users\user\Documents\Projects\rl toolkit\rl_training.py”,第129行,在train self中_rpm,赛尔夫。批量大小,自行确定。梯度步数,记录步数b=self。在call result=

  • 我试图使用Java8Javadoc工具,但它抱怨是一个未知标记: 我看到有一些方法可以禁用doclint,但我真的想知道哪些标签列表被支持(或者为什么这个不支持)。 更多信息在这个问题,这个问题和从这个博文。

  • 我想在spring boot项目中使用“truncate table”语句而不是“delete”语句,因为我需要重置mysql中的自动增量id。这是我的代码: 但有一个例外,就像这样: 其他操作已经工作,如插入、更新或选择,原因是什么,我应该修改什么?

  • 问题内容: 如果html文件是本地文件(在我的C驱动器上),则可以使用,但是如果html文件在服务器上并且图像文件是本地文件,则无法使用。这是为什么? 任何可能的解决方法? 问题答案: 如果客户端可以请求本地文件系统文件,然后使用JavaScript找出其中的内容,则将是一个安全漏洞。 解决此问题的唯一方法是在浏览器中构建扩展。Firefox扩展和IE扩展可以访问本地资源。Chrome的限制更为严

  • 我已经检查了我的windows10机器上是否安装了python 3.8。我正在尝试安装带有pip的软件包,但终端告诉我,“[pip”不被识别为内部或外部命令、可操作程序或批处理文件。] 我知道3.4以上的Python版本已经预装了pip,那么为什么我会收到这个错误消息呢?

  • 我对Swift中关于var和关键字{get set}的使用的协议有疑问。 来自Apple文档: 这将不是公正的: 我错过了什么?