I get a bunch of warnings from boost filesystem about abi_prefix/suffix "alignment changed after including header, may be due to missing #pragma pack(pop)". But I'm getting one linker error from boost thread: libboost_thread-vc80-mt-s-1_33.lib(once.obj) : error LNK2001: unresolved external symbol _InterlockedCompareExchange I changed compare_exchange's body in once.cpp from: ice_wrapper(&InterlockedCompareExchange, dest, exch, cmp); to: return InterlockedCompareExchange(dest, exch, cmp); and it worked. -- Cory Nelson http://www.int64.org
Cory Nelson wrote:
I get a bunch of warnings from boost filesystem about abi_prefix/suffix "alignment changed after including header, may be due to missing #pragma pack(pop)".
This is OK. abi_prefix.hpp does #pragma pack(push,...) and abi_suffix.hpp does #pragma pack(pop).
But I'm getting one linker error from boost thread: libboost_thread-vc80-mt-s-1_33.lib(once.obj) : error LNK2001: unresolved external symbol _InterlockedCompareExchange
That seems like a bug in the Windows Platform SDK. InterlockedCompareExchange is a macro defined as _InterlockedCompareExchange, which has a built-in implementation in most Windows compilers but should be a normal linkable function as well. Ben.
participants (2)
-
Ben Hutchings
-
Cory Nelson