|
Threads-Devel : |
From: Anthony Williams (anthony_at_[hidden])
Date: 2006-09-05 10:50:27
Vitaly Buka <bvs_at_[hidden]> writes:
> It happens ONLY when platform is x64.
>
>> Hello threads-devel,
>
>> under Visual Studio 2005
>> when building boost thread
>
>> libboost_thread-vc80-mt-p-1_33_1.lib(once.obj) : error LNK2019:
>> unresolved external symbol __imp__InterlockedCompareExchange
>> referenced in function "long __cdecl `anonymous
>> namespace'::compare_exchange(long * volatile,long,long)"
>> (?compare_exchange@?A0x2926274c@@YAJREAJJJ_at_Z)
>
>> also i found than some other have this bug too
>
>> http://archives.free.net.ph/message/20051123.135546.4896e194.en.html
Yes. There is a bug in the Microsoft Platform SDK for x64, in that there is
*only* an intrinsic form of InterlockedCompareExchange; the library function
which is present for other versions of the SDK is missing for x64. I was
intending to fix it, but my hard disk died and I've been on holiday, so I
haven't got round to doing any boost stuff for a while.
Anthony
-- Anthony Williams Software Developer Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk