
17 Jan
2005
17 Jan
'05
8:57 a.m.
Hello, All! When I tried to compile thread library for AMD 64 with DDK compiler, I got a linker error: once.obj : error LNK2019: unresolved external symbol _InterlockedCompareExchange referenced in function "long __cdecl `anonymous namespace'::compare_exchange(long * volatile,long,long)" (?compare_exchange@?A0x21094b06@@YAJRAJJJ@Z) I guess, this is because InterlockedCompareExchange has only intrinsic form on AMD64 platform and used by pointer in compare_exchange (thread/src/once.cpp) function. Test code that also uses InterlockedCompareExchange by pointer failed to link too, but code that just calls this function works. With best regards, Sergey Skorniakov.