c++ - Boost directory_iterator 导致崩溃

标签 c++ boost boost-filesystem

我一直在尝试使用通过快速谷歌搜索找到的这个示例遍历目录:

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:*** 对象 0x10fee9820 错误:未分配正在释放的指针。进一步调试发现,这发生在 directory_iterator 的构造函数中。这有发生在其他人身上吗? 如果我通过 NetBeans 运行它,一切都运行良好。

我使用 OSX 10.8.3 和 GCC 4.8

最佳答案

我遇到了这个确切的问题。对我来说,问题最终是 Boost 库是使用与我在项目中使用的不同的 C++ 编译器编译的(Clang 用于 Boost,gcc 用于我的东西)。我用 GCC 和成功重新编译了 Boost。

关于c++ - Boost directory_iterator 导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16838351/

相关文章:

c++ - 确定不打开文件的确切原因

c++ - 使用 qt 模板时未解析的外部?

c++ - 尝试获取 C++ switch 语句来识别空格、制表符等

c++ - boost asio优先级和链

c++ - 如何声明指针成员禁止删除它

c++ - Boost.spirit代码。编译错误

c++ - 如何从 ListView 中获取项目以在组合框中使用它们

c++ - 用于 gcc-arm 工具链的 Boost C++ 库

c++ - 为什么 boost 的随机数生成(正态分布)总是给出相同的值?