I am trying to use boost/property_tree/ptree.hpp in my application. All I have done so far is just add the following include statements to my program:

> #include <boost/property_tree/ptree.hpp>
> #include <boost/property_tree/xml_parser.hpp>

After adding these lines, I compiled my modified application using g++ 4.6.3 on Ubuntu 12.04. I get the following errors:

g++ -c -Wall -Werror -I../cudd-2.4.2//include/ -I /home/pramod/libraries/boost_1_50_0/  -O2  -Wno-unused-result -Wno-unused-function   -c -o main.o main.cpp
In file included from /home/pramod/libraries/boost_1_50_0/boost/property_tree/ptree.hpp:17:0,
                 from main.h:10,
                 from main.cpp:17:
/home/pramod/libraries/boost_1_50_0/boost/property_tree/stream_translator.hpp: In static member function ‘static void boost::property_tree::customize_stream<Ch, Traits, bool, void>::extract(std::basic_istream<_CharT, _Traits>&, bool&)’:
/home/pramod/libraries/boost_1_50_0/boost/property_tree/stream_translator.hpp:117:18: error: expected unqualified-id before ‘{’ token
/home/pramod/libraries/boost_1_50_0/boost/property_tree/stream_translator.hpp:117:18: error: expected ‘)’ before ‘{’ token
/home/pramod/libraries/boost_1_50_0/boost/property_tree/stream_translator.hpp: In member function ‘boost::optional<E> boost::property_tree::stream_translator<Ch, Traits, Alloc, E>::get_value(const internal_type&)’:
/home/pramod/libraries/boost_1_50_0/boost/property_tree/stream_translator.hpp:191:20: error: expected unqualified-id before ‘{’ token
/home/pramod/libraries/boost_1_50_0/boost/property_tree/stream_translator.hpp:191:20: error: expected ‘)’ before ‘{’ token
make: *** [main.o] Error 1

When I look the lines117 and 191 in ptree.hpp, they are the following:

            s >> e;
            if(s.fail()) {
                // Try again in word form.

and
            customized::extract(iss, e);
            if(iss.fail() || iss.bad() || iss.get() != Traits::eof()) {
                return boost::optional<E>();

I can't spot anything obviously wrong with either of these lines.

Does anyone have any clues on what could be going wrong?

Thanks!
Pramod