Я пытался перебрать каталог, используя этот пример, который я нашел с помощью быстрого поиска в Google:
namespace bf = boost::filesystem;
bf::path p("somedir");
bf::directory_iterator end_iter;
for (bf::directory_iterator iter(p); iter != end_iter; ++iter) {
}
Однако при запуске этого через терминал конструктор по умолчанию вызывает это:
testapp(6538) malloc: *** error for object 0x10fee9820: pointer being freed was not allocated
, Дальнейшая отладка показала, что это происходит в конструкторе directory_iterator. Это случилось с кем-то еще?
Если я запускаю это через NetBeans, все работает нормально.
Я использую OSX 10.8.3 и GCC 4.8
Я столкнулся с этим вопросом. Для меня проблема заключалась в том, что библиотеки Boost были скомпилированы с другим компилятором C ++, чем я использовал в своем проекте (clang для Boost и gcc для моих вещей). Я перекомпилировал Boost с GCC и успехом.
Других решений пока нет …