Hi, I would like to use the boost regex lib in a c++ program. This is being developed under gnu/linux (Debian-Sarge Kernel 2.4.27) with gcc 3.3.5. Also, we are creating binaries for Win32 by cross compiling with MinGW (i586-mingw32msvc-g++ (GCC) 3.4.2 (mingw-special)).
Thus, i have to build the boost::regex library for both gnu/linux and win32. There was no problem to get the linux version (it is included in Debian, and anyway the source succeded to compile), but i'm having trouble to compile the win version.
I compile from
/boost_1_31_0/libs/regex/build by using generic.mak (make -f generic.mak). in this file i've just added
lines: CXX=i586-mingw32msvc-g++ LINKER=i586-mingw32msvc-ar
This is the output i obtain:
xxxxx@xxxxx:~/boost/boost_1_31_0/libs/regex/build$ make -f generic.mak i586-mingw32msvc-g++ -o generic/boost_regex/c_regex_traits.o -c - O2 -I../../../ ../src/c_regex_traits.cpp ../src/c_regex_traits.cpp: In static member function `static size_t boost::c_regex_traitsboost::regex_wchar_type::strnarrow(char*, size_t, const boost::regex_wchar_type*)': ../src/c_regex_traits.cpp:1052: error: `wcstombs' is not a member of `std' make: *** [generic/boost_regex/c_regex_traits.o] Error 1
any clues about what i'm doing wrong?
Looks like a configuration issue: can you try compiling and *running* the program libs/config/test/config_info.cpp, in the output at the end you should see:
BOOST_USER_CONFIG =
BOOST_COMPILER_CONFIG ="boost/config/compiler/gcc.hpp" BOOST_STDLIB_CONFIG ="boost/config/stdlib/libstdcpp3.hpp" BOOST_PLATFORM_CONFIG ="boost/config/platform/win32.hpp" and then:
BOOST_NO_CWCHAR [no value] BOOST_NO_CWCTYPE [no value] BOOST_NO_HASH [no value] BOOST_NO_MS_INT64_NUMERIC_LIMITS [no value] BOOST_NO_SLIST [no value] BOOST_NO_STD_WSTREAMBUF [no value] BOOST_NO_STD_WSTRING [no value] BOOST_NO_SWPRINTF [no value]
If these aren't correct then we'll have to try and diagnose the
This is the end of the output for config_info (using mingw32):
Boost version 103100
BOOST_USER_CONFIG =
somehow (attach the full output from the config_info program if you can).
If you just want to hack around then issue, then just add - DBOOST_NO_WREGEX to the compile command line,
John.