Paul Heil | 29 Aug 23:15

[Math] errno on WCE

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 mailing list
Boost-users <at> lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users
Mateusz Loskot | 29 Aug 23:51
Gravatar

Re: [Math] errno on WCE

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

For missing C or POSIX features under Windows CE platform, I've 
developed a small utility library - a compilation enabler :-)

http://mateusz.loskot.net/projects/wcelibcex/

I link it statically only, errno is not thread-safe.

Best regards,
--

-- 
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org
Paul Heil | 2 Sep 20:43

Re: [Math] errno on WCE

It works!!!
Thanks!

On Fri, Aug 29, 2008 at 4:51 PM, Mateusz Loskot <mateusz <at> loskot.net> wrote:
Paul Heil wrote:

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

For missing C or POSIX features under Windows CE platform, I've developed a small utility library - a compilation enabler :-)

http://mateusz.loskot.net/projects/wcelibcex/

I link it statically only, errno is not thread-safe.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org
_______________________________________________
Boost-users mailing list
Boost-users <at> lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users

_______________________________________________
Boost-users mailing list
Boost-users <at> lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Gmane