Are these symbols correctly defined? I'm not exactly sure which symbols you're referring to, but... The BOOST_NO_CWCHAR is defined subsequent to a comment in macos.hpp which states: "// Using the Mac OS X system BSD-style C library" Thus, I'm not sure if BOOST_NO_CWCHAR is defined "correctly" since I'm not sure what the justification is based on the #define's preceding comment.
I don't have access to that platform, so I just go what people tell me, BOOST_NO_CWCHAR should be defined only if the platform is missing a conforming version of the <cwchar> header.
As for the boost::wregex and boost::wcmatch symbols, if BOOST_NO_CWCHAR is defined, then BOOST_NO_WREGEX is subsequently defined, which results in the typedefs for wcregex and wcmatch in <boost/regex/v4/regex.hpp> being skipped, so these symbols are not defined (again, I'm not sure if this is "correct" behavior since I"m not sure of the reasoning behind the BOOST_NO_CWCHAR in the first place).
That's correct, if there is no <cwchar> header then regex can't provide wide character support.
Can you comment them out and still get a clean compile? If I comment out the #define BOOST_NO_CWCHAR line regex compiles with no errors using the gcc.mak file in <libs/regex/build> directory.
OK, so can you use wregex etc now? If not check to see if BOOST_NO_CWCTYPE or BOOST_NO_STD_WSTRING are defined, and if so comment out these defines as well... John.