Subject: Re: [boost] [xpressive] Performance Tuning?
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2009-07-19 15:44:06


> > Please use Boost SVN trunk here:
> >
> > https://svn.boost.org/svn/boost/trunk/boost/spirit
> > https://svn.boost.org/svn/boost/trunk/libs/spirit
> >
> > and make sure to put these directories in front of your normal Boost
> > installation (V1.37 is required at minimum). The
> > high_resultion_timer.hpp is
> > here:
> >
> > https://svn.boost.org/svn/boost/trunk/libs/spirit/benchmarks/
> > high_resolution
> > _timer.hpp
> >
>
> Hi Hartmut,
>
> So,
>
> I did the following and placed them in different directories.
> $ svn checkout https://svn.boost.org/svn/boost/trunk/boost/spirit
> $ svn checkout https://svn.boost.org/svn/boost/trunk/libs/spirit
>
> In both cases it states "Checked out revision 55030".
>
> And shoved high_resolution_timer.hpp in the appropriate place.
>
> After modifying "uint_parser.cpp" to add
>
> #include <iostream>
>
> I get the following error:
>
> $ g++-4 -I ~/Desktop/boost_spirit/ -I ~Desktop/libs_spirit/ -I ~/
> Desktop/boost_1_39_0 -o uint_parser uint_parser.cpp

You don't need to add the libs/spirit directory to your sinclude path.
That's just where the examples, tests and documentation resides. Sorry, I
should have been more explicit.

> uint_parser.cpp: In function 'int main()':
> uint_parser.cpp:37: error: 'qi::int_' has not been declared
> uint_parser.cpp:104: error: 'int_' was not declared in this scope
>
> which seems fairly fundamental.

I certainly can only guess what happens there, but I think the checkout

   svn checkout https://svn.boost.org/svn/boost/trunk/boost/spirit

creates a directory ./spirit. Could you try moving this into a subdirectory
boost, additionally. The final directory structure must be:

   $SPIRIT21_ROOT/boost/spirit (/include/...)

And the -I $SPIRIT21_ROOT needs to be added to the compiler command line.
All spirit headers are included as

#include <boost/spirit/include/...>

that means you need to tell the compiler the base directory the
'boost/spirit/...' is in.

> Do I have the correct revision of Spirit? Any suggestions?

Seems to be the correct revision.

HTH
Regards Hartmut