_AFXDLL マクロを追加したところ、次の 2 つのエラーが発生しました。
error C2039: 'InterlockedAdd64': is not a member of '`global namespace''
error C3861: 'InterlockedAdd64': identifier not found
その理由と、問題を回避する方法は何ですか?
MFC を使用する DLL に c++/clr サポートを追加しようとしているときに、この問題に遭遇しました。
clrサポートを使用したい場合、私は運が悪いようです:
MSDN: _MANAGED /clr コンパイラ オプションが設定されている場合、1 として定義されます。それ以外の場合は未定義。
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)