Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-12-19 13:04:00

From: "Martin Schuerch" <mschuerch_at_[hidden]>
> Hi
> I already posted once the following problem (solution). The problem is
> there in the code of the boost repository. I doesn't know if there are
> reasons to not apply the patch, (e.g. global namespace polution) or if the
> post was missed.
> Problem:
> In my project (some files are compiled with the /CLR flag) I get the
> following link error under VC7.
> pplib.lib(PPFacadeNet.obj) : error LNK2022: metadata operation failed
> (80131195) : Custom attributes are not consistent: (0x0c0008f2).
> LINK : fatal error LNK1254: metadata for symbol
> '?InterlockedExchange_at_winapi@detail_at_boost@@$$J18YGJPCJJ_at_Z' inconsistent
> COFF symbol table
> The problem is (after a long search), that the forward declarations of
> InterlockedExchange (win32) are inside a namespace. When they are global
> works.


> extern "C" __declspec(dllimport) boost::detail::winapi::long_type
> InterlockedIncrement(boost::detail::winapi::long_type volatile *);
> extern "C" __declspec(dllimport) boost::detail::winapi::long_type
> InterlockedDecrement(boost::detail::winapi::long_type volatile *);
> extern "C" __declspec(dllimport) boost::detail::winapi::long_type
> InterlockedExchange(boost::detail::winapi::long_type volatile *,
> boost::detail::winapi::long_type);

But won't these collide with the declarations in <windows.h>?

Boost list run by bdawes at, gregod at, cpdaniel at, john at