sha*_*dow 11 c++ gcc raspberry-pi gcc6 c++17
我面临文件系统库的问题,它应该包含在c ++ 17编译器中,2天后我试图在raspberry pi中安装gcc-7.0.2但是它没有用,它无法识别命令gcc-7或g ++ - 7甚至-std=c++17所以我必须安装g ++ - 6和gcc-6 apt-get install
,在安装6版之后,编译器包含c ++ 17.我使用代码块作为IDE,我不得不添加一个新的编译器并添加选项-std = c ++ 17来启用它,但在主代码中,当我包含文件系统库时,它没有说这样的文件或目录.
我的问题是,如何才能正确添加c ++ 17编译器及其库(如文件系统)?
Gal*_*lik 29
GCC v7仍然没有实现<文件系统>但它确实有该文件系统技术规范是在<实验/文件系统>
#include <experimental/filesystem>
// for brevity
namespace fs = std::experimental::filesystem;
int main()
{
fs::path p = "/path/to/my/file"; // etc...
}
Run Code Online (Sandbox Code Playgroud)
这也是可用的GCC v6.
要链接库,需要添加-lstdc++fs到命令行.
注意:当前的技术规范与标准委员会决定的<filesystem>的最终草案之间可能存在一些细微差别.
注2: GCC v8现在使用标志实现<filesystem>-std=c++17.
首先你应该看看GCC 中的 C++17 支持
运行时库 (libstdc++)
- 改进了对 C++17 的实验支持,包括以下功能:
- 推导指南支持类模板参数推导。
std::filesystem执行。std::char_traits<char>和std::char_traits<wchar_t>可用于常量表达式。std::to_chars和std::from_chars(仅适用于整数,不适用于浮点类型)。
源代码: https: //gcc.gnu.org/gcc-8/changes.html
运行时库 (libstdc++)
- 改进了对 C++17 的支持,包括:
- C++17 实现不再是实验性的。
- 并行算法和
<execution>(需要 Thread Building Blocks 2018 或更高版本)。<memory_resource>。- 使用 中的类型和函数
<filesystem>不需要与-lstdc++fsnow 链接。
源代码: https: //gcc.gnu.org/gcc-9/changes.html
| 归档时间: |
|
| 查看次数: |
9265 次 |
| 最近记录: |