vtk 8.1.0 fails to build with MSVC targetting Windows 7 if _WIN32_WINNT=_WIN32_WINNT_WIN7
I try to build VTK 8.0.1 for x64 with Visual Studio Build Tools 2017 (cl.exe 19.11.25547) on Windows 7. I'd
like to target only Windows 7 and up, so I define /DWINVER=_WIN32_WINNT_WIN7 /D_WIN32_WINNT=_WIN32_WINNT_WIN7
in CFLAGS
and CXXFLAGS
before the build. However this gives an error:
[...]
[ 86%] Building CXX object Rendering/OpenGL2/CMakeFiles/vtkRenderingOpenGL2.dir/vtkWin32OpenGLRenderWindow.cxx.obj
D:\tmp-debug-MSVC-Generic-7-x64-cl19.11.25547\thirdparty\VTK-8.0.1\Rendering\OpenGL2\vtkWin32RenderWindowInteractor.cxx(72): error C2371: 'TOUCHINPUT': redefinition; different basic types
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um\winuser.h(6028): note: see declaration of 'TOUCHINPUT'
D:\tmp-debug-MSVC-Generic-7-x64-cl19.11.25547\thirdparty\VTK-8.0.1\Rendering\OpenGL2\vtkWin32RenderWindowInteractor.cxx(72): error C2371: 'PTOUCHINPUT': redefinition; different basic types
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um\winuser.h(6028): note: see declaration of 'PTOUCHINPUT'
D:\tmp-debug-MSVC-Generic-7-x64-cl19.11.25547\thirdparty\VTK-8.0.1\Rendering\OpenGL2\vtkWin32RenderWindowInteractor.cxx(73): error C2011: 'HTOUCHINPUT__': 'struct' type redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um\winuser.h(6015): note: see declaration of 'HTOUCHINPUT__'
jom: D:\tmp-debug-MSVC-Generic-7-x64-cl19.11.25547\thirdparty\VTK-8.0.1-x64\Rendering\OpenGL2\CMakeFiles\vtkRenderingOpenGL2.dir\build.make [Rendering\OpenGL2\CMakeFiles\vtkRenderingOpenGL2.dir\vtkWin32RenderWindowInteractor.cxx.obj] Error 2
vtkWin32OpenGLRenderWindow.cxx