Почему в GCC нет стандартной библиотеки файловой системы?

я столкнулся с проблемой с библиотекой файловой системы, она должна быть включена в компилятор c ++ 17, через 2 дня я попытался установить gcc-7.0.2 в raspberry pi, но он не работал, он не мог распознать команду gcc-7 или g ++ — 7 или даже -std=c++17 поэтому мне пришлось установить g ++ — 6 и gcc-6, используя apt-get install
в любом случае, после установки 6 версии компилятор включает c ++ 17.
Я использую кодовые блоки в качестве IDE, мне пришлось добавить новый компилятор и добавить параметр -std = c ++ 17, чтобы включить его, но в основном коде, когда я включаю библиотеку файловой системы, он говорит, что нет такого файла или каталога.

мой вопрос, как я могу правильно добавить компилятор c ++ 17 и его библиотеку (например, файловую систему)?

5

Решение

GCC v7 до сих пор не реализует <файловая система> но у него есть Техническая спецификация файловой системы который в <экспериментальная / файловая система>

#include <experimental/filesystem>

// for brevity
namespace fs = std::experimental::filesystem;

int main()
{
fs::path p = "/path/to/my/file"; // etc...
}

Это также доступно в GCC v6,

Для связи с библиотекой нужно добавить -lstdc++fs в командной строке.

Замечания: Там могут быть некоторые незначительные различия между текущими Техническая спецификация и окончательный проект <файловая система> это решено Комитетом по стандартам.

Заметка 2: GCC v8 сейчас реализует <файловая система> с -std=c++17 флаг.

17

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]