Boost logo

Boost Users :

From: John Maddock (john_at_[hidden])
Date: 2005-02-08 11:48:38


> 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_root_dir>/boost_1_31_0/libs/regex/build by using
> generic.mak (make -f generic.mak). in this file i've just added these
> lines:
> CXX=i586-mingw32msvc-g++
> LINKER=i586-mingw32msvc-ar
>
> This is the output i obtain:
>
> xxxxx_at_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_traits<boost::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/config/user.hpp>
    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 problem
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.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net