EASTL icon indicating copy to clipboard operation
EASTL copied to clipboard

EASTL failed due to error C2664 on MSVC + /std:c++latest

Open QuellaZhang opened this issue 5 years ago • 0 comments

Environment: Windows Server 2016 + VS2019 + EASTL master branch latest d996510 source code.

EASTL failed to build due to error C2664: 'void (const char8_t *)': cannot convert argument 1 from 'const char [51]' to 'const char8_t *'. Could you help have a look about this issue? Thanks in advance!

repro step:

  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_x64 && pushd build_x64
  5. set CL=/std:c++latest
  6. cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 -DEASTL_BUILD_TESTS:BOOL=ON -DEASTL_BUILD_BENCHMARK:BOOL=OFF ..
  7. msbuild /m /p:Platform=x64 /p:Configuration=Release EASTL.sln /t:Rebuild

Actual result: F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(210,47): error C2664: 'int fputs(const char *,FILE *)': cannot convert argument 1 from 'const char8_t *' to 'const char *' [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(286,101): error C2665: 'EA::StdC::Vsnprintf': none of the 4 overloads could convert all the argument types [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(286,40): error C2789: 'nReturnValue': an object of const-qualified type must be initialized [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(294,47): error C2664: 'void (const char8_t *)': cannot convert argument 1 from 'char [2048]' to 'const char8_t *' [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(297,82): error C2664: 'void (const char8_t *)': cannot convert argument 1 from 'const char [39]' to 'const char8_t *' [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(311,94): error C2665: 'EA::StdC::Vsnprintf': none of the 4 overloads could convert all the argument types [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(312,52): error C2664: 'void (const char8_t *)': cannot convert argument 1 from 'char *' to 'const char8_t *' [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj] F:\gitP\electronicarts\EASTL\test\packages\EAMain\source\EAMain.cpp(316,98): error C2664: 'void (const char8_t *)': cannot convert argument 1 from 'const char [51]' to 'const char8_t *' [F:\gitP\electronicarts\EASTL\build_x64\test\packages\EAMain\EAMain.vcxproj]

QuellaZhang avatar Jun 08 '20 09:06 QuellaZhang