Boost logo

Boost Users :

From: John Maddock (john_at_[hidden])
Date: 2008-04-17 04:59:11


Brady Reed wrote:
> Let me say up front that my goal is to build the regex lib with
> Visual C++ 8.0 using nmake and the supplied makefiles with as little
> modification to the boost sources as possible. In fact, I would like
> to limit customization for Windows Mobile 5 entirely to adding
> #define's to boost/config/user.hpp. Is this possible? It would
> certainly minimize the amount of work when upgrading boost.
>
> In order to minimize the number of files to keep under source
> control, I've moved only the regex-relevant files from the full zip
> extraction to the source control directories. I tested this by
> copying files from the 1.35 boost distribution until I had a clean XP
> desktop VC8 build. However, the output below shows where the WM5
> build fails right out of the gate. There seems to be an stdlib issue
> with a missing 'strxfrm'.
>
> In order to build for WM5, I've taken the following steps so far:
> (1) Added to boost\config\user.hpp:
> #define BOOST_NO_STD_LOCALE
> #define BOOST_USE_WINDOWS_H
>
> //Undefine the WIN32 that was defined in the makefile command line
> #undef WIN32
>
> // Define the appropriate versions of WinCE
> #define _WIN32_WCE 500
> #define UNDER_CE 500
>
> // Define processor type
> #define _ARM_
>
> // Define compiler version
> #define _VC80_UPGRADE 0x0710
>
>
> (2) After navigating to <boost>/boost/libs/regex/build, set the
> INCLUDE environment variable to (broken into lines here to help
> readability):
> C:\Program Files\Microsoft Visual Studio 8\VC\ce\include;
> C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC
> SDK\include;
> C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC
> SDK\include\ARMV4I;
>
> then invoke nmake -fvc8.mak all
>
> (3) The resulting output on the command line is:
>
> cl /nologo /MT /W3 /EHsc /O2 /GF /Gy /I..\..\..\ /D_MT
> /DWIN32 /DNDEBU
> G /D_MBCS /D_LIB /FD /Zc:wchar_t /c -Y-
> -Fo./vc80/libboost_regex-vc80-mt-s-1_3 5/
> -Fdvc80/libboost_regex-vc80-mt-s-1_35.pdb ../src/c_regex_traits.cpp
> c_regex_traits.cpp
> ../src/c_regex_traits.cpp(54) : error C2039: 'strxfrm' : is not a
> member of 'std' ../src/c_regex_traits.cpp(54) : error C3861:
> 'strxfrm': identifier not found ../src/c_regex_traits.cpp(54) : fatal
> error C1903: unable to recover from previous error(s); stopping
> compilation
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio
> 8\VC\bin\cl.EXE"' : return code '0x2'
> Stop.
>
> In http://article.gmane.org/gmane.comp.lib.boost.user/32566/ it was
> stated that
> the regex lib should build out of the box for Windows Mobile. What
> am I doing wrong? _______________________________________________

Good question: I don't have a copy of Windows mobile here to test with, so
I'm relying on the folks running our regression tests to report any issues.
I notice that our regression tests are run using STLport as the std lib -
could this be the vital difference?

Otherwise try removing c_regex_traits.cpp from the list of source files -
unless you're unlucky you won't be needing that code anyway... I hope :-)

HTH, 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