我在使用boost库编译代码时遇到了很多错误,主要是在我使用Spirit命名空间时。错误是增强文件上的语法错误,如:
boost / spirit / home / classic / dynamic / lazy.hpp(33):错误C2143:语法错误:缺少';'在'<'
之前
或
boost / spirit / home / classic / dynamic / lazy.hpp(33):错误C4430:缺少类型说明符 - 假设为int。注意:C ++不支持default-int
或
升压/精神/家/经典/效用/ grammar_def.hpp(104) :错误C2039:'nil_t':不是 'boost :: phoenix'的成员
我正在从Visual Studio 6迁移到Visual Studio 2008 Express,并从最旧版本的boost之一迁移到最新版本。
我想知道问题是什么。我认为问题不在升级库中。
答案 0 :(得分:0)
我的猜测,就像Timi Geusch一样,是一个错误的#define。
我从未使用过VS,但是如果有一个选项可以在代码通过预处理器之后查看代码,那么您可以找出导致问题的原因。
答案 1 :(得分:0)
问题解决了,只包括phoenix1旧版本的凤凰。谢谢!