#371·EASTL

EASTL failed to build due to error C3861: '_InterlockedExchange64_INLINE': identifier not found with MSVC on windows.

Author: 215020267Created Jun 8, 2020Updated Mar 5, 2025

Environment: Windows Server 2016 + VS2019 + EASTL master branch latest https://github.com/electronicarts/EASTL/commit/d9965101482ad13a900c50dab0cac268cd90346b source code.

EASTL failed to build due to error C3861: '_InterlockedExchange64_INLINE': identifier not found with MSVC on windows. It can be first reproduced on latest master revision. Could you help have a look about this issue? Thanks in advance!

Steps to reproduce the behavior:

  1. git clone https://github.com/electronicarts/EASTL F:\EASTL\src
  2. Open a VS 2019 x86 command prompt as admin and browse to F:\EASTL\src
  3. git submodule update --init
  4. mkdir build_x86 && pushd build_x86
  5. cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 -DEASTL_BUILD_TESTS:BOOL=ON -DEASTL_BUILD_BENCHMARK:BOOL=OFF ..
  6. msbuild /m /p:Platform=Win32 /p:Configuration=Release EASTL.sln /t:Rebuild test.log

Actual result: 11>F:\EASTL\src\test\packages\EAThread\include\eathread/internal/eathread_atomic_standalone_msvc.h(201,107): error C3861: '_InterlockedExchange64_INLINE': identifier not found (compiling source file F:\EASTL\src\test\packages\EAThread\source\eathread_futex.cpp) [F:\EASTL\src\build_x86\test\packages\EAThread\EAThread.vcxproj] 11>F:\EASTL\src\test\packages\EAThread\include\eathread/internal/eathread_atomic_standalone_msvc.h(201,107): error C3861: '_InterlockedExchange64_INLINE': identifier not found (compiling source file F:\EASTL\src\test\packages\EAThread\source\eathread_rwmutex.cpp) [F:\EASTL\src\build_x86\test\packages\EAThread\EAThread.vcxproj] 11>F:\EASTL\src\test\packages\EAThread\include\eathread/internal/eathread_atomic_standalone_msvc.h(201,107): error C3861: '_InterlockedExchange64_INLINE': identifier not found (compiling source file F:\EASTL\src\test\packages\EAThread\source\eathread_pool.cpp) [F:\EASTL\src\build_x86\test\packages\EAThread\EAThread.vcxproj] 11>F:\EASTL\src\test\packages\EAThread\include\eathread/internal/eathread_atomic_standalone_msvc.h(201,107): error C3861: '_InterlockedExchange64_INLINE': identifier not found (compiling source file F:\EASTL\src\test\packages\EAThread\source\eathread.cpp) [F:\EASTL\src\build_x86\test\packages\EAThread\EAThread.vcxproj] 11>F:\EASTL\src\test\packages\EAThread\include\eathread/internal/eathread_atomic_standalone_msvc.h(201,107): error C3861: '_InterlockedExchange64_INLINE': identifier not found (compiling source file F:\EASTL\src\test\packages\EAThread\source\eathread_thread.cpp) [F:\EASTL\src\build_x86\test\packages\EAThread\EAThread.vcxproj]