why have error when compling code using boost lib

If I compile boost using code in SuperVector.cu, then the make fails with strange errors. The simplest example is :

#include <boost/lexical_cast.hpp>

int main()
return 0;

/usr/include/boost/lexical_cast.hpp(347): error: expected an expression

1 error detected in the compilation of “/tmp/tmpxft_000009b4_00000000-4_SuperVector.cpp1.ii”.

my system is ubuntu 10.04, nvcc 4.0, gcc 4.4.3

There is a known compatibility issue with boost and nvcc. A work around is to split the sources such that you compile the cuda code with nvcc and the boost code with the host compiler.

Thanks a lot