Boost logo

Boost Users :

From: Paul Heil (paul.heil_at_[hidden])
Date: 2008-08-29 17:18:30


I'm compiling the Boost 1.36.0 Math library for Windows Mobile 5 using
Visual Studio 2008. I have STLPort-5.1.5 installed.
When I get to anything requiring errno support, I get compiler errors as
below:

compile-c-c++
bin.v2\libs\math\build\msvc-WM5\debug\link-static\runtime-link-static\stdlib-stlport\threading-multi\acosh.obj
acosh.cpp
Unknown EVC++ compiler version - please run the configure tests and report
the results
eMbedded Visual C++ 3 and .NET don't have a errno.h header; STLport won't
include native errno.h here
C:\boost\boost_1_36_0\boost/math/policies/error_handling.hpp(149) : error
C2065: 'errno_t' : undeclared identifier
[...]
C:\boost\boost_1_36_0\boost/math/policies/error_handling.hpp(149) : error
C2065: 'EDOM' : undeclared identifier
[..]
C:\boost\boost_1_36_0\boost/math/policies/error_handling.hpp(233) : error
C2065: 'ERANGE' : undeclared identifier

In the STLPort errno.h header, there's a section:

#ifdef _STLP_WCE
// only show message when directly including this file in a non-library
build
# if !defined(__BUILDING_STLPORT) && (_STLP_OUTERMOST_HEADER_ID == 0x205)
# pragma message("eMbedded Visual C++ 3 and .NET don't have a errno.h
header; STLport won't include native errno.h here")
#define errno errno_t

I can add an "#include<crtdefs.h>" to get errno_t support, but that just
declares it as "typedef int errno_t;". Which, of course, gives me "
boost/math/policies/error_handling.hpp(149)
: error C2513: 'int' : no variable declared before '=' " errors as that
isn't the way Boost expects to be able to use errno.

What can I do to either get errno support under CE or remove the dependency
of that feature without breaking Boost?

Thanks,
PaulH



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