Hello, Thanks for your reply, i have to check first this part of source-code. Regards, Marcus Gehr -------- Original-Nachricht --------
Datum: Mon, 22 Sep 2008 18:06:02 +0300 Von: "Peter Dimov"
An: boost-users@lists.boost.org Betreff: Re: [Boost-users] error C2733 second C linkage of overloaded function InterlockedIncrement not allowed
Marcus Gehr:
Hello,
Sorry i forgot. I'm using boost verison 1.36
You mentioned lines 55-63, these are (in 1.36):
#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 ); extern "C" long __cdecl _InterlockedExchange( long volatile *, long); extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long);
But there is a CE-specific section before that:
#elif defined(_WIN32_WCE)
// under Windows CE we still have old-style Interlocked* functions
extern "C" long __cdecl InterlockedIncrement( long* ); extern "C" long __cdecl InterlockedDecrement( long* ); extern "C" long __cdecl InterlockedCompareExchange( long*, long, long ); extern "C" long __cdecl InterlockedExchange( long*, long ); extern "C" long __cdecl InterlockedExchangeAdd( long*, long );
Why does it not get selected in your configuration? Is _WIN32_WCE defined? It should be set to 600 for CE 6.0 (in principle). (Or is it 0x600?)
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users