Я пытаюсь прочитать файлы в указанном каталоге в Ubuntu 19.04.Я планирую использовать directory_iterator в стандартной библиотеке.Я использую CLion IDE, которая использует компилятор в каталоге "usr / bin / c ++".Я предполагаю, что это компилятор g ++, а версия g ++ в моей системе - 8.3.Используемая версия C ++ - C ++ 17.
Мне удалось успешно выполнить код в Visual Studio 2017 в Windows 10. Но код привел к ошибке ошибки сегментации в Ubuntu при использовании CLion.Код ниже взят со страницы cppreference о directory_iterator.
#include <fstream>
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
fs::create_directories("sandbox/a/b");
std::ofstream("sandbox/file1.txt");
std::ofstream("sandbox/file2.txt");
for(auto& p: fs::directory_iterator("sandbox"))
std::cout << p.path() << '\n';
fs::remove_all("sandbox");
}
Я ожидал, что код распечатает файлы в данной папке, но вместо этого получил Segfault.
Процесс завершен с кодом выхода 139 (прерван сигналом 11: SIGSEGV).
В чем может быть причина этой проблемы?Может ли проблема быть связана с CMake?