OK, BOOST_NO_WREGEX isn't set and around the template function re_get_message is the #ifndef.
#ifndef BOOST_NO_WREGEX
template <class charT> unsigned int BOOST_REGEX_CALL re_get_message(charT* buf, unsigned int len, unsigned int id) { ... }
#endif
But the problem is the same -> Error: ambiguous access to overloaded function re_get_message(char *, unsigned int, unsigned int)' re_get_message<...>(T0 *, unsigned int, unsigned int)'
I think that you're going to need a Metrowerks expert to solve this one as it's a compiler problem :-( Did you try changing that to: #ifndef BOOST_NO_WREGEX unsigned int BOOST_REGEX_CALL re_get_message(wchar_t* buf, unsigned int len, unsigned int id) { ... } #endif or is this just more going round in circles? (this is what the latest cvs code has BTW). John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm