Hi,

with boost 1.42.0 I have tried to cross-compile an application on a Kubuntu 9.04 for an ARM processor.

The application is processing ini-files, so the file 'boost/property_tree/ptree.hpp' is included. During compilation I got the errors:

../../../boost/boost/property_tree/ptree_fwd.hpp:91: error: 'wstring' is not a member of 'std'

../../../boost/boost/property_tree/string_path.hpp:60: error: expected unqualified-id before '&' token
../../../boost/boost/property_tree/string_path.hpp:60: error: expected ',' or '...' before '&' token
../../../boost/boost/property_tree/string_path.hpp:60: error: ISO C++ forbids declaration of 'parameter' with no type
../../../boost/boost/property_tree/string_path.hpp: In function 'std::string boost::property_tree::detail::dump_sequence(int)':
../../../boost/boost/property_tree/string_path.hpp:62: error: 's' was not declared in this scope

By looking in the 'hpp'-files referenced in the error message I found, that in 'boost/property_tree/ptree_fwd.hpp' a '#ifndef BOOST_NO_CWCHAR' is only used on line on line 109 for encapsulating wstring usage.

Using this ifndef for encapsulating also the other erroneous lines, the error vanishes and everything is compiled.

Is there a reason, why the ifndefs are not inserted at the other position?



Thanx for help

Jürgen Blümer