Windows min max macro imported unexpectedly
Describe the bug
Building Geant4 version on windows imports min max macros from windows.h when using 2021.6.0 version of tbb on visual studio 16.11.1, which breaks code in PTL that uses std::min and std::max (e.g. in ThreadPool.hh line 468 in function void ThreadPool::execute_on_all_threads(FuncT&& _func)).
To Reproduce Description contains reproduction details.
Expected behavior Normal compilation.
Screenshots non
Putting this block (or NOMINMAX) somewhere in the code should solve the problem. Still locating the include location.
#ifdef _WIN32
#define WIN32_LEAN_AND_MEAN
#endif
Ugh, yeah I’ve run into this problem several times in other projects. I’ll get it fixed and make an appveyor script for CI on windows
Located the position to be from the tbb include lines using static_asserts. WIN32_LEAN_AND_MEAN doesn't work, but NOMINMAX works.