添加 _AFXDLL 宏和 clr 支持后找不到 InterlockedAdd64
InterlockedAdd64 can't be found after adding _AFXDLL macro and clr support
我添加了 _AFXDLL 宏并得到以下两个错误:
error C2039: 'InterlockedAdd64': is not a member of '`global namespace''
error C3861: 'InterlockedAdd64': identifier not found
原因是什么以及如何解决这个问题?
我 运行 在尝试为使用 MFC 的 DLL 添加 c++/clr 支持时遇到了这个问题。
如果我想使用 clr 支持,看来我运气不好:
MSDN: _MANAGED Defined as 1 when the /clr compiler option is set. Otherwise, undefined.
来自winnt.h:
#if !defined(_MANAGED)
#if (_MSC_VER >= 1600)
...
FORCEINLINE
LONG64
_InterlockedAdd64 (
_Inout_ _Interlocked_operand_ LONG64 volatile *Addend,
_In_ LONG64 Value
)
{
...
}
#define InterlockedAdd64 _InterlockedAdd64
...
#endif // !defined(_MANAGED)
我添加了 _AFXDLL 宏并得到以下两个错误:
error C2039: 'InterlockedAdd64': is not a member of '`global namespace''
error C3861: 'InterlockedAdd64': identifier not found
原因是什么以及如何解决这个问题?
我 运行 在尝试为使用 MFC 的 DLL 添加 c++/clr 支持时遇到了这个问题。
如果我想使用 clr 支持,看来我运气不好:
MSDN: _MANAGED Defined as 1 when the /clr compiler option is set. Otherwise, undefined.
来自winnt.h:
#if !defined(_MANAGED)
#if (_MSC_VER >= 1600)
...
FORCEINLINE
LONG64
_InterlockedAdd64 (
_Inout_ _Interlocked_operand_ LONG64 volatile *Addend,
_In_ LONG64 Value
)
{
...
}
#define InterlockedAdd64 _InterlockedAdd64
...
#endif // !defined(_MANAGED)