Archived issue #0027734
Configuration - TKIVtkDraw build fails with TBB
Description
When using TBB (tbb43_20150611oss) in conjunction with IVTKDraw the build of OCCT7.0.0 fails on windows with errors:
[...]\tbb43_20150611oss\include\tbb\internal/_tbb_windef.h(28): fatal error C1189: #error : TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater. ([...]\opencascade-7.0.0\src\IVtkDraw\IVtkDraw_Interactor.cxx)
[...]\tbb43_20150611oss\include\tbb\internal/_tbb_windef.h(28): fatal error C1189: #error : TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater. ([...]\opencascade-7.0.0\src\IVtkDraw\IVtkDraw.cxx)
Reasons is a define in files IVtkDraw.cxx and IVtkDraw_Interactor.cxx:
#define _WIN32_WINNT 0x0400 // for TrackMouseEvent support requires Win95 with IE 3.0 or greater.
Maybe it not a wise decission to set the windows version to something different then allready running.
A "is lower" or "is greater check would make more sense, like TBB does (_tbb_windef.h):
// Check that the target Windows version has all API calls requried for TBB.
// Do not increase the version in condition beyond 0x0500 without prior discussion!
#if defined(_WIN32_WINNT) && _WIN32_WINNT<0x0501
#error TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater.
#endif
List of Windows Version Numbers: https://msdn.microsoft.com/en-us/library/6sehtctf.aspx
[...]\tbb43_20150611oss\include\tbb\internal/_tbb_windef.h(28): fatal error C1189: #error : TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater. ([...]\opencascade-7.0.0\src\IVtkDraw\IVtkDraw_Interactor.cxx)
[...]\tbb43_20150611oss\include\tbb\internal/_tbb_windef.h(28): fatal error C1189: #error : TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater. ([...]\opencascade-7.0.0\src\IVtkDraw\IVtkDraw.cxx)
Reasons is a define in files IVtkDraw.cxx and IVtkDraw_Interactor.cxx:
#define _WIN32_WINNT 0x0400 // for TrackMouseEvent support requires Win95 with IE 3.0 or greater.
Maybe it not a wise decission to set the windows version to something different then allready running.
A "is lower" or "is greater check would make more sense, like TBB does (_tbb_windef.h):
// Check that the target Windows version has all API calls requried for TBB.
// Do not increase the version in condition beyond 0x0500 without prior discussion!
#if defined(_WIN32_WINNT) && _WIN32_WINNT<0x0501
#error TBB is unable to run on old Windows versions; _WIN32_WINNT must be 0x0501 or greater.
#endif
List of Windows Version Numbers: https://msdn.microsoft.com/en-us/library/6sehtctf.aspx
Public activity
2 archived notes
Participants are labeled by their role within this record.
This issue is resolved by a patch for #0027567.
Please test them together.
Please test them together.
Dear Commenter 1,
Branch CR27567 is TESTED.
Branch CR27567 is TESTED.
Related records