C++ Boost在编译期间导致错误

C++ Boost在编译期间导致错误,c++,boost,mlpack,C++,Boost,Mlpack,我最近在我的软件中添加了MLPack,我试图编译来自CMake的MLPack。MLPack本身在VisualStudio2012中构建得很好,然后我想将它集成到我自己的软件中 我甚至还没有用它编写一行代码,只是一行而已 #include "../../mlpack-1.0.8/build-VS/include/mlpack/core.hpp" 在我的一个标题中。仅此而已,当我想要编译它时,我会得到一个巨大的错误列表,所有错误都来自Boost 1.55,前三个错误是例如(1-6是警告) 错误7错

我最近在我的软件中添加了MLPack,我试图编译来自CMake的MLPack。MLPack本身在VisualStudio2012中构建得很好,然后我想将它集成到我自己的软件中

我甚至还没有用它编写一行代码,只是一行而已

#include "../../mlpack-1.0.8/build-VS/include/mlpack/core.hpp"
在我的一个标题中。仅此而已,当我想要编译它时,我会得到一个巨大的错误列表,所有错误都来自Boost 1.55,前三个错误是例如(1-6是警告)

错误7错误C2332:“类”:缺少标记名d:\development\boost\u 1\u 55\u 0\boost\iterator\iterator\u facade.hpp 43
错误8错误C2011:“”:“枚举”类型重新定义d:\development\boost\u 1\u 55\u 0\boost\iterator\iterator\u facade.hpp 43
错误9错误C2143:语法错误:“常量”之前缺少“,”d:\development\boost\u 1\u 55\u 0\boost\iterator\iterator\u facade.hpp 43
迭代器_facade.hpp中的行是

  template <class I, class V, class TC, class R, class D> class iterator_facade;
模板类迭代器;

这里发生了什么?

通常这些错误都来自于一个遗漏的错误;在头文件(或头文件中类似的、未终止的构造)中的类定义的末尾。这个缺失;扩展到缺少的头文件和随后包含的头文件。因为mlpack/core.hpp看起来很好,我不确定这是否是问题所在。mlpack本身编译很好,所以我甚至不知道如何开始跟踪此错误。您的代码是否包含boost,或者mlpack是否包含boost,或者两者都包含?如果你自己也加入了boost,你能提供更多关于发布的#include行的上下文吗?不,它是唯一使用boost的MLPack。我的代码不使用Boost。可能您的实际代码中的平台工具集(请参阅项目属性)比您用来编译mlpack的旧。
  template <class I, class V, class TC, class R, class D> class iterator_facade;