1

我在使用 boost 库编译代码时遇到很多错误,主要是在我使用 Spirit 命名空间时。这些错误是 boost 文件上的语法错误,例如:

boost/spirit/home/classic/dynamic/lazy.hpp(33):错误 C2143:语法错误:缺少';' 在'<'之前

或者

boost/spirit/home/classic/dynamic/lazy.hpp(33):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

或者

boost/spirit/home/classic/utility/grammar_def.hpp(104) : error C2039: 'nil_t' : is not a member of 'boost::phoenix'

我正在从 Visual Studio 6 迁移到 Visual Studio 2008 Express,并从最古老的 boost 版本之一迁移到最新版本。

我想知道有什么问题。我认为问题不能出在 boost 库中。

4

2 回答 2

0

我的猜测,就像 Timi Geusch 一样,是错误的#define。

我从来没有使用过 VS,但是如果有一个选项可以在代码通过预处理器后查看代码,您可能能够找出导致问题的原因。

于 2009-08-14T19:23:59.177 回答
0

问题已解决,仅包括 phoenix1 旧版本的 phoenix。

于 2009-09-07T14:22:18.803 回答