Open nnfdnkns opened 2 years ago
Hello @nnfdnkns,
Thanks for the report. It seems like EAThread has some issues building for Win32 that we need to resolve to actually build EASTL as you describe, but after I hacked around EAThread a bit I was able to compile fine for Win32 on VS2019.
What you describe sounds a lot like what #474 was trying to resolve. I wonder if there's something we're doing incorrectly there.
Can you share the output of running cl /Bv
on your system as described here to get some details on your toolchain?
In my system I can see all the variable declarations you're missing in C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\ymath.h
. Do you have an equivalent file under your VS installation?
These variables have been removed in a more recent version of MSVC's STL which I believe hasn't shipped, so I'm surprised you're hitting this. The newer version is supposed to be detected by the #if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L
in our EASTL\numeric_limits.h
.
@grojo-ea Thanks for your quick reply. I have confirmed that this issue has been fixed after we updated the EASTL sha.
But now we still have other same problems as https://github.com/electronicarts/EASTL/issues/371. This issue only occurs on x86 bit and we have patched it to unblock testing. Can you help fix it? Thanks.
I can repro the issue on VS2019 16.11.18 with the following build steps:
F:\gitP\electronicarts\EASTL\build_x86>cl /Bv
Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30146 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
Compiler Passes:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe: Version 19.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\c1.dll: Version 19.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\c1xx.dll: Version 19.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\c2.dll: Version 19.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\c1xx.dll: Version 19.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\link.exe: Version 14.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\mspdb140.dll: Version 14.29.30146.0
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\1033\clui.dll: Version 19.29.30146.0
Hi all,
EASTL failed with error C2039 , C2065 when build with default by msvc on Windows.Could you please help take a look at this?
You can repro this issue as the steps below: 1.git clone https://github.com/electronicarts/EASTL F:\gitP\electronicarts\EASTL 2.cd F:\gitP\electronicarts\EASTL\build_x86 3.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 .. 2>&1 4.set CL=%CL% /Zc:static_assert-
Error info: F:\gitP\electronicarts\EASTL\include\EASTL/numeric_limits.h(1684,20): error C2039: '_LDenorm': is not a member of '`global namespace'' [F:\gitP\electronicarts\EASTL\build_x86\EASTL.vcxproj] F:\gitP\electronicarts\EASTL\include\EASTL/numeric_limits.h(1684,1): error C2065: '_LDenorm': undeclared identifier [F:\gitP\electronicarts\EASTL\build_x86\EASTL.vcxproj]
log build (2).log