我面临文件系统库的问题,它应该包含在c ++ 17编译器中,2天后我试图在raspberry pi中安装gcc-7.0.2但它没有用,它不能识别命令gcc-7或g ++ - 7甚至-std=c++17
所以我必须使用apt-get install
安装g ++ - 6和gcc-6
无论如何,在安装6版本后,编译器包含c ++ 17。
我正在使用代码块作为IDE,我不得不添加一个新的编译器并添加选项-std = c ++ 17来启用它,但是在主代码中,当我包含文件系统库时,它没有说明这样的文件或目录。 / p>
我的问题是,如何才能正确添加c ++ 17编译器及其库(如文件系统)?
答案 0 :(得分:19)
GCC v7
仍然没有实现<filesystem>,但它确实有文件系统技术规范,它位于<experimental/filesystem>
#include <experimental/filesystem>
// for brevity
namespace fs = std::experimental::filesystem;
int main()
{
fs::path p = "/path/to/my/file"; // etc...
}
这也可以在GCC v6
中找到。
要与库链接,您需要将-lstdc++fs
添加到命令行。
注意:当前技术规范与标准委员会决定的<filesystem>最终草案之间可能存在一些细微差别。< / p>
注2: GCC v8
现在使用-std=c++17
标记实现<filesystem>。