From: Vince (v.richomme_at_[hidden])
Date: 2006-05-21 09:52:37


Hi,

I am trying to port some .NET classes into moder C++ and I am using
shared_ptr.
I am trying to compile with Visual Studio 2005 and Pocket PC 2003 SDK to
target some mobile devices and when I compile I got the following :

 error unknown CE compiler

I have modified visualc.hpp to pass this test by adding :

 elif _MSC_VER < 2500 //Visual 8 Pocket PC 2003 and WM5 comes with 2048
# define BOOST_COMPILER_VERSION evc4.0

but it's not enough since after I get a problem with Interlocked I
think, I had to comment the following :

//#elif (defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ))
//
//extern "C" long __cdecl _InterlockedIncrement( long volatile * );
//extern "C" long __cdecl _InterlockedDecrement( long volatile * );
//extern "C" long __cdecl _InterlockedCompareExchange( long volatile *,
long, long );
//
//# pragma intrinsic( _InterlockedIncrement )
//# pragma intrinsic( _InterlockedDecrement )
//# pragma intrinsic( _InterlockedCompareExchange )
//
//# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement
//# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement
//# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange

Now it compiles fine under Pocket PC but it's a bad workaround, if
someone could provide a real fix...

First thing to do is to check which version is used with Visual Studio 8
and smart devices SDK. If I look at afxver.h it seems to be 0x0800 but
not sure that it's the right place to look at.

Hope it helps