]> OCCT Git - occt.git/commit
0033117: migration to intel oneTBB 2021.5.0 (c++20 ready).
authorddzama <ddzama@opencascade.com>
Thu, 25 Aug 2022 11:04:35 +0000 (14:04 +0300)
committerddzama <ddzama@opencascade.com>
Tue, 13 Sep 2022 07:50:34 +0000 (10:50 +0300)
commit4b23900a13c7e460d885ddfc16c9e4eb6cc7040c
treedc9ff88edf841229bf82d8b19286065188fdaa03
parent526c506cb0a6a5c9c168ab5efd0a4e5211e30bf4
0033117: migration to intel oneTBB 2021.5.0 (c++20 ready).

MSVC 2022/c++20.

After employed c++20 language standard errors of compilation in intel oneTBB occurred.
To get rid of compilation errors proposed moving on actual (2021.5.0) intel oneTBB occ products and occt.

After migration errors of compilation of TKernal and TMath have been occured...
...Error occured if using c++20 standard with new oneTBB 2021.5.0.
The error was:
   Error C2672 'tbb::v1::parallel_for_each': no matching overloaded function found TKernel
   could be 'void tbb::detail::d2::parallel_for_each(Iterator,Iterator,const Body &)' TKernel
   'tbb::detail::d2::parallel_for_each': the associated constraints are not satisfied TKernel
Note, that if we use c++14 or c++17, all ok, error does not occures.

Affected projects: TKernal, TMath
Affected files: src/OSD/OSD_Parallel.hxx, src/OSD/OSD_Parallel_Threads.cxx
Affected classes: class OSD_Parallel, OSD_Parallel::UniversalIterator, OSD_Parallel::FunctorInterface, OSD_Parallel::FunctorWrapperIter, OSD_Parallel:;FunctorWrapperInt.

Additionally, taked into account different names of tbb main library on windows/linux.
On Windows, they are tbb12.lib/tbb12.dll. On Linux, it is libtbb.so.
Therefore, we have to taking into account this fact in all project generator files (cmake and others).
12 files changed:
CMakeLists.txt
adm/cmake/occt_csf.cmake
adm/cmake/tbb.cmake
adm/genconfdeps.tcl
adm/genproj.tcl
adm/qmake/OccToolkit.pri
adm/templates/custom.build.bat.in
dox/build/build_3rdparty/building_3rdparty.md
dox/introduction/introduction.md
samples/qt/IESample/IESample.pro
src/OSD/OSD_Parallel.hxx
src/OSD/OSD_Parallel_Threads.cxx