I'm checking my code for memory overwrites, but I'm fairly certain that's not the cause (at least on my part). I 'm thinking that it is a code generation problem as John Maddock described.
I am calling regex++ from a COM inproc server dll. It won't link if I try to link to the static boost library because various STL calls are already defined. If I use the boost dll then I get the heap problem as already described.
With MSVC++ version 6 I am able to link to the static boost library with no problem.
And you should be able to with VC7 - if you are using automatic linking and boost 1.28 just define BOOST_REGEX_STATIC_LINK when building your dll. Otherwise if all else fails just add the regex source directly to your dll project (and define both BOOST_REGEX_NO_LIB and BOOST_REGEX_STATIC_LINK), you may also want to reduce the source files you add to those you actually need to cut out potential code bloat. John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm