
I have been a boost users for years, but this is the first time I've come across a problem with using it. I'm posting this in the hopes that one of you will say "oh yeah you did 'X' wrong", because I have been beating my head against the wall with this for some time. Thanks for taking a look. -- Michael Lindner I have the following program: #include "boost/regex.hpp" #include <string> int main(int argc, char** argv) { std::string re("[123]abc"); boost::regex reg(re); return 0; } It compiles and runs just fine on my Mac and Linux machines. On Windows, however, it compiles fine, and runs fine compiled under the "Debug" configuration. When I change that to "Release" however, it crashes with the following stack trace: msvcr90.dll!7858cc9d() msvcr90.dll!7858ccb5() dme.exe!boost::re_detail::w32_ transform() + 0xd5 bytes C++ dme.exe!boost::re_detail::w32_regex_traits_implementation<char>::transform() + 0x21 bytes C++ dme.exe!boost::re_detail::find_sort_syntax<boost::re_detail::w32_regex_traits_implementation<char>,char>() + 0x64 bytes C++ dme.exe!boost::re_detail::w32_regex_traits_implementation<char>::w32_regex_traits_implementation<char>() + 0x399 bytes C++ dme.exe!boost::object_cache<unsigned int,boost::re_detail::w32_regex_traits_implementation<char> >::do_get() + 0x28f bytes C++ dme.exe!boost::object_cache<unsigned int,boost::re_detail::w32_regex_traits_implementation<char> >::get() + 0x69 bytes C++ dme.exe!boost::re_detail::create_w32_regex_traits<char>() + 0x1b bytes C++ dme.exe!boost::re_detail::regex_data<char,boost::regex_traits<char,boost::w32_regex_traits<char>
::regex_data<char,boost::regex_traits<char,boost::w32_regex_traits<char> () + 0x5d bytes C++
dme.exe!boost::basic_regex<char,boost::regex_traits<char,boost::w32_regex_traits<char>
::do_assign() + 0x5f bytes C++
dme.exe!boost::basic_regex<char,boost::regex_traits<char,boost::w32_regex_traits<char>
::assign(const char * p1=0x0012ff4c, const char * p2=0x0012ff54, unsigned int f=0) Line 380 C++
dme.exe!boost::basic_regex<char,boost::regex_traits<char,boost::w32_regex_traits<char>
::assign<std::char_traits<char>,std::allocator<char> >(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & s="[123]abc", unsigned int f=0) Line 418 C++
::basic_regex<char,boost::regex_traits<char,boost::w32_regex_traits<char> <std::char_traits<char>,std::allocator<char> >(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
dme.exe!boost::basic_regex<char,boost::regex_traits<char,boost::w32_regex_traits<char> p="[123]abc", unsigned int f=0) Line 393 C++ dme.exe!main(int argc=1, char * * argv=0x00345628) Line 9 C++ I am using boost 1.46.0 Microsoft Visual Studio 2008 Version 9.0.30729.1 SP Microsoft .NET Framework Version 3.5 SP1