Рекурсивное сканирование каталога на наличие файлов

Я пытаюсь перебрать каталог и распечатать имя всех файлов, начиная с корня.

Вот короткий фрагмент, который я написал, используя Boost::Filesystem (1.52.0) в моей программе.

void testApp::getNames(const string& dirPath, string& fileExtension)
{
namespace fs = boost::filesystem;
namespace sys = boost::system;
fs::path filePath(dirPath);
for(fs::recursive_directory_iterator dir(filePath), dir_end; dir!=dir_end ;++dir)
{
cout<<*dir;
}
}

При попытке скомпилировать это странным образом я получаю ошибки сборки, которые указывают path.hpp файл в следующем фрагменте:

    static const codecvt_type& codecvt()
{
return *wchar_t_codecvt_facet();
}

Я получаю ошибку undefined reference to boost::filesystem3::path::wchar_t_codecvt_facet()'|

Я на Ubuntu 12.10 использую IDE Codeblocks для моего проекта.

0

Решение

Это ошибка компоновщика. Вам нужно связаться с библиотекой файловой системы Boost.

В IDE должна быть настройка для добавления библиотек где-то в настройках проекта. (Я не знаю точно, где, так как я никогда не использовал кодовые блоки.)

2

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

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