Как исправить «фатальную ошибку: файловая система: нет такого файла или каталога» в Code :: Blocks? - PullRequest
0 голосов
/ 11 июля 2019

Я пишу скрипт, который удаляет старые файлы резервных копий. Я включил «файловую систему», как обычно, но на этот раз я получил эту ошибку: «фатальная ошибка: файловая система: нет такого файла или каталога»

Я попытался включить "экспериментальная / файловая система", и я установил "-lstdc ++ fs" в качестве флага GCC. Ничто не помогло мне.

#include <cstdlib>
#include <algorithm>
#include <vector>
#include <filesystem>

namespace fs = std::filesystem;

int main()
{
    fs::path const directory{ "C:\Test" };
    std::vector<fs::directory_entry>::size_type const num_files_to_keep{ 5 };

1 Ответ

0 голосов
/ 13 июля 2019

Использование CodeBlocks и GCC 8.0 или выше Вам необходимо установить опцию компилятора c ++ 17 (Я использую CodeBlock прошлой ночной сборки). Project build options

Затем необходимо добавить в настройки параметров компоновщика библиотеку stdc++fs. Linker settings

И затем вы должны добавить директиву #include <filesystem> из GCC 8.0, а не <experimental/filesystem>
В Windows разделитель каталогов - \\ (две обратные косые черты).
Вам необходимо написать:

fs::path const directory { "C:\\Test" };
...