0

_AFXDLL マクロを追加したところ、次の 2 つのエラーが発生しました。

error C2039: 'InterlockedAdd64': is not a member of '`global namespace''
error C3861: 'InterlockedAdd64': identifier not found

その理由と、問題を回避する方法は何ですか?

MFC を使用する DLL に c++/clr サポートを追加しようとしているときに、この問題に遭遇しました。

4

1 に答える 1

0

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)
于 2020-12-17T16:50:14.123 に答える