views:

76

answers:

2

I'm getting a lot of errors compiling code using the boost libraries, mainly when I'm using Spirit namespace. The errors are syntax errors on boost files like:

boost/spirit/home/classic/dynamic/lazy.hpp(33) : error C2143: syntax error : missing ';' before '<'

or

boost/spirit/home/classic/dynamic/lazy.hpp(33) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

or

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

I am migrating from Visual Studio 6 to Visual Studio 2008 Express and from one of the oldest versions of boost to the lastest.

I'd like to know what's the problem. I'm thinking the problem can't be in the boost library.

A: 

My guess, like Timi Geusch, is an errant #define.

I've never used VS, but if there is an option to see the code after it has been passed through the preprocessor, you might be able to figure out what causing the problem.

KeithB
jon hanson
I really don't know what define can be. It's a large code. Any idea?
Leandro
A: 

The problem was resolved just including phoenix1 the old version of phoenix. Thanks!

Leandro