я столкнулся с проблемой с библиотекой файловой системы, она должна быть включена в компилятор 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 и его библиотеку (например, файловую систему)?
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
флаг.
Других решений пока нет …