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

linker error with TBB

mbogart
Beginner
284 Views
Hi,
We just installed Intel C++ compiler along with the Thread Building Blocks. I'm particularly looking to use the parallel_for mechanism. I have it all compiling fine but getting 10 linker errors, all similar to the following below.
It's as if the LIB envar is not being used. It is set to point to the vc8lib directory. Both the register envars at install and the running of the bat file were both used. A cmd line check using "set" shows that the paths are indeed in the envar.

"LIB=C:Program FilesIntelTBB2.0ia32vc8lib;C:Program FilesIntelIPP5.3.
2.073ia32lib;C:Program FilesIntelIPP5.3.2.073ia32stublib;C:Program File
sIntelVTuneAnalyzerlib"

Error 139 error LNK2019: unresolved external symbol "public: static void __cdecl tbb::internal::allocate_root_proxy::free(class tbb::task &)" (?free@allocate_root_proxy@internal@tbb@@SAXAAVtask@3@@Z) referenced in function "void __cdecl operator delete(void *,class tbb::internal::allocate_root_proxy const &)"

Is there some setting that causes Visual Studio Ver 8 to ignore environment variables?

Any help would be appreciated.

Extra info - The SeismicSimulation example project DOES open, compile, link, and run OK!

Thanks,
Mitch




0 Kudos
1 Reply
Alexey-Kukanov
Employee
284 Views

For Visual Studio to _use_ environment variables, it should be started with /useenv option; e.g. type

devenv /useenv
if starting it from command line, or add the option to the shortcut. By default, it does not use env variables and I am not aware of any GUI option/setting that would enable it.

You might check the setting for TBB examples and do the same way. Basically, the example VS projects don't rely on LIB & INCLUDE but explicitly have the necessary paths in project settings.

Also I recommend you to tryour MSVC integration plugin that you could download from Extras section at TBB open-source download page. It makes TBB easy to use with Visual C++ projects and solves this kind of problems in two clicks. I hope you'll like it too. And of course we will be glad to hear your feedback, positive or negative.

0 Kudos
Reply