首页 > 后端开发 > C++ > 正文

在 GCC 中使用 `experimental::filesystem` 时如何解决链接器错误?

Linda Hamilton
发布: 2024-11-15 14:07:02
原创
614 人浏览过

How to Resolve Linker Errors When Using  `experimental::filesystem` in GCC?

修复experimental::filesystem的链接器错误

尝试在GCC 6.0中使用最新的C 1z功能时,特别是在experimental::filesystem库中,您可以遇到这样的链接器错误:

undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
登录后复制

文件系统 TS 和 C 的区别1z

需要注意的是,文件系统 TS(技术规范)不是 C 1z(现在的 C 20)标准的一部分。因此,该错误与 C 1z 支持无关,而是与链接到适当的库有关。

与文件系统 TS 库链接

要解决此问题,请将您的代码与静态库链接 - Lstdc fs。这将为实验性::文件系统功能提供必要的实现。请记住将其放在链接器命令中依赖于它的任何对象之后。

GCC 中文件系统支持的更新

2017 年 11 月:
GCC 8.x在命名空间 std::filesystem 下引入了一个符合 C 17 的文件系统库。它需要 -std=gnu 17 和 -lstdc fs 才能使用。

2019 年 1 月:
GCC 9 允许在没有 -lstdc fs 的情况下使用 std::filesystem 组件。

四月2024:
GCC 13.3 在 -lstdc exp 中呈现实验性::文件系统符号以及其他实验性定义。

以上是在 GCC 中使用 `experimental::filesystem` 时如何解决链接器错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板