Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

TBB Cmake error in example in Mingw

Nishikawa__Mitsuru
1,345 Views

Dear experts,

I am now introducing Intel TBB in the cmake build system of Mingw compiler.

I tried the procedure similar to the below URL item "Source code integration of Intel TBB to the sub_string_finder sample (Linux* OS)"<https://github.com/01org/tbb/tree/tbb_2019/cmake#tbbget>

To build TBB library is succeeded in cmake generation,

but in "make" process, I failed linking as the below log.

I would appreciate it if you could help me.

 

Best regards

=============================================================================================================

Scanning dependencies of target tbb_test

mingw32-make.exe[3]: *** No rule to make target 'tbb_cmake_build/tbb_cmake_build_subdir_debug/tbb_debug.lib', needed by 'tbb_test.exe'.  Stop.

mingw32-make.exe[3]: *** Waiting for unfinished jobs....

[ 50%] Building CXX object CMakeFiles/tbb_test.dir/main.cpp.obj

mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:67: CMakeFiles/tbb_test.dir/all] Error 2

mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:79: CMakeFiles/tbb_test.dir/rule] Error 2

mingw32-make.exe: *** [Makefile:117: tbb_test] Error 2

=============================================================================================================

0 Kudos
3 Replies
Nishikawa__Mitsuru
1,345 Views

P.S.

TBB library is successfully made (.o & .d files, they correctly worked in ordinary tutorial case without cmake). 

Probably, Makefile is configured for MSVS compiler since ***.lib is windows static library format.

If you know how to cope with this case, please tell me.

 

Best regards

 

0 Kudos
Nishikawa__Mitsuru
1,345 Views

Dear all,

Is there anyone succeed to use TBB in mingw with cmake build system?

The above error log, No rule to make target 'tbb_cmake_build/tbb_cmake_build_subdir_debug/tbb_debug.lib, 

means the Makefile produced by cmake indicates to link XXX.lib, that is, static library file in the format of Windows.

In TBB, libraries are output as the format of XXX.o etc, which probably is something of linux object files.

As default in Windows OS, cmake is planned to produce linkage with static library of XXX.lib?

 

Best regards

 

 

 

 

 

 

0 Kudos
Nishikawa__Mitsuru
1,345 Views

Dear all,

I resolved this problem by no use of the tbb_build procedure.

(TBB library is in advance built, and link them directly by cmake command, "link_directory" and "target_link_libraries" with linker options, -ltbb)

Sincerely

0 Kudos
Reply