ITK icon indicating copy to clipboard operation
ITK copied to clipboard

ITK failed to build with "error C2143: syntax error: missing ':' before 'constant'" with MSVC on Windows arm64ec

Open YangYang129 opened this issue 3 years ago • 0 comments

ITK failed to build with "error C2143: syntax error: missing ':' before 'constant'" with MSVC on Windows arm64ec. It can reproduce on latest version on master branch. Could you please help look at this issue?

Versions and configuration OS: Windows Server 2022 Datacenter VS: Visual Studio 2019(16.11.18) Repro steps:

  1. set VSCMD_SKIP_SENDTELEMETRY=1 & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -host_arch=amd64 -arch=arm64
  2. git clone https://github.com/InsightSoftwareConsortium/ITK F:\ITK
  3. F:\ITK
  4. git -C "F:\itk" apply f:\itk_error_c2516.patch --ignore-space-change --ignore-whitespace --whitespace=nowarn
  5. git -C "F:\itk" apply f:\itk_use-the-lrintf-intrinsic.patch --ignore-space-change --ignore-whitespace --whitespace=nowarn
  6. mkdir build_arm64ec &cd build_arm64ec
  7. cmake -G "Visual Studio 16 2019" -A ARM64EC -DCMAKE_SYSTEM_VERSION=10.0.22618.0 -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF ..
  8. msbuild /m /p:Platform=ARM64EC /p:Configuration=Release All_BUILD.vcxproj /t:Rebuild

Error info: Line 1811: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\widemath.h(36,16): error C2143: syntax error: missing ':' before 'constant' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1816: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\widemath.h(36,19): error C2109: subscript requires array or pointer type [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1817: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\widemath.h(36): error C2056: illegal expression [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1832: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(53,102): error C2059: syntax error: 'constant' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1862: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(54,32): error C2061: syntax error: identifier '__U128D0' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1880: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(54,32): error C2059: syntax error: ';' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1891: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(54,47): error C2059: syntax error: '' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1900: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(55,31): error C2061: syntax error: identifier '__U128Q0' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1909: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(55,31): error C2059: syntax error: ';' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1920: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(55,46): error C2059: syntax error: '' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj] Line 1921: 74>C:\Program Files (x86)\Windows Kits\10\Include\10.0.22618.0\um\softintrin.h(56,31): error C2061: syntax error: identifier '__U128Q1' [F:\ITK\build_arm64ec\Modules\ThirdParty\ZLIB\src\itkzlib-ng\zlib.vcxproj]

Error log: itk_msbuild.log

Attachment: itk_use-the-lrintf-intrinsic.patch.log itk_error_c2516.patch.log

widemath.h.log softintrin.h.log

YangYang129 avatar Sep 06 '22 07:09 YangYang129