
Hi all, I am compiling boost 1.31.0 with mingw. Specifically the packages I am using are: boost 1.31.0 with regex patch binutils-2.13.90-20030111-1.tar gcc-core-3.4.1-20040711-1.tar gcc-g++-3.4.1-20040711-1.tar mingw-runtime-3.3.tar Boost builds find until bjam reaches the regex library. There seems to be a problem with wide character streams in the regex library. I don't think the latest mingw supports wide character streams. Is this correct? If so, how do I compile the regex library? If there is no workaround, is it possible to use mingw with STLPort and boost? The following is an excerpt form the actual error message I get: g++ -c -Wall -ftemplate-depth-100 -DBOOST_REGEX_CONFIG_INFO=1 -DBOOST_REG EX_DYN_LINK=1 -g -O0 -fno-inline -mno-cygwin -I"c:\build\bin\boost\libs\regex \build" -I "C:\boost_1_31_0" -o "c:\build\bin\boost\libs\regex\build\boost_reg ex.dll\mingw\debug\c_regex_traits.obj" "C:/boost_1_31_0/libs/regex/build/../src /c_regex_traits.cpp" ...failed gcc-C++-action c:\build\bin\boost\libs\regex\build\boost_regex.dll\min gw\debug\c_regex_traits.obj... gcc-C++-action c:\build\bin\boost\libs\regex\build\boost_regex.dll\mingw\debug\c _regex_traits_common.obj gcc-C++-action c:\build\bin\boost\libs\regex\build\boost_regex.dll\mingw\debug\c pp_regex_traits.obj C:/mingw/bin/../lib/gcc/mingw32/3.4.1/../../../../include/c++/3.4.1/streambuf: I n instantiation of `std::basic_streambuf<wchar_t, std::char_traits<wchar_t> >': C:/boost_1_31_0/libs/regex/build/../src/cpp_regex_traits.cpp:92: instantiated from `<unnamed>::parser_buf<wchar_t, std::char_traits<wchar_t> >' C:/boost_1_31_0/libs/regex/build/../src/cpp_regex_traits.cpp:590: instantiated from here C:/mingw/bin/../lib/gcc/mingw32/3.4.1/../../../../include/c++/3.4.1/streambuf:13 5: error: no type named `pos_type' in `struct std::char_traits<wchar_t>' C:/mingw/bin/../lib/gcc/mingw32/3.4.1/../../../../include/c++/3.4.1/streambuf:23 4: error: no type named `pos_type' in `struct std::char_traits<wchar_t>' C:/mingw/bin/../lib/gcc/mingw32/3.4.1/../../../../include/c++/3.4.1/streambuf:23 9: error: no type named `pos_type' in `struct std::char_traits<wchar_t>' C:/mingw/bin/../lib/gcc/mingw32/3.4.1/../../../../include/c++/3.4.1/streambuf:57 4: error: no type named `pos_type' in `struct std::char_traits<wchar_t>' C:/mingw/bin/../lib/gcc/mingw32/3.4.1/../../../../include/c++/3.4.1/streambuf:58 6: error: no type named `pos_type' in `struct std::char_traits<wchar_t>' C:/boost_1_31_0/libs/regex/build/../src/cpp_regex_traits.cpp: In instantiation o f `<unnamed>::parser_buf<wchar_t, std::char_traits<wchar_t> >': C:/boost_1_31_0/libs/regex/build/../src/cpp_regex_traits.cpp:590: instantiated from here ... Thanks, Jim.

I am compiling boost 1.31.0 with mingw. Specifically the packages I am using are:
boost 1.31.0 with regex patch binutils-2.13.90-20030111-1.tar gcc-core-3.4.1-20040711-1.tar gcc-g++-3.4.1-20040711-1.tar mingw-runtime-3.3.tar
Boost builds find until bjam reaches the regex library. There seems to be a problem with wide character streams in the regex library. I don't think the latest mingw supports wide character streams. Is this correct? If so, how do I compile the regex library? If there is no workaround, is it possible to use mingw with STLPort and boost?
I think this is because gcc-3.4 was released after Boost-1.31 and consequently there are a lot of changes to libstdc++3 in gcc-3.4 that don't get auto-detected in the Boost.config system. This is fixed in current mainline cvs, so you could try replacing boost/config/stdlib/libstdcpp3.hpp with an updated version (attached). John.
participants (2)
-
Jim Pritts
-
John Maddock