Community
cancel
Showing results for 
Search instead for 
Did you mean: 
loopzilla
Beginner
98 Views

Why I can't use Intel TBB in form of static library ?

I have restriction in my game engine: not to use third party dynamic libraries.
Only in form of static linking (due to security reasons, preformance and integration to other platforms).
So in out I have solid exe file.

I saw a question about this issue:
http://threadingbuildingblocks.org/wiki/index.php?title=Using_TBB

"But some libraries control program-wide resources, such as memory and processors. For example, garbage collectors control memory allocation across a program. Analogously, TBB controls scheduling of tasks across a program.To do their job effectively, each of these must be a singleton; that is, have a sole instance that can coordinate activities across the entire program."

But I have only one exe file, and in one execution unit not possible to link multiple instances of your singletons.
(You'll get multiple definitions link error).

Question to TBB developers (I hope you read this :) :

Why you just denied opportunity to link statically ?
Why just not to give responsibility for that to users of library ? (In case of multiple instances of singletons, just crash in runtime in debug mode with proper error message ?)





0 Kudos
1 Reply
Philip_T_Intel1
Employee
98 Views

Thanks for your interest in TBB.

There are two options for you if static linking is such an important feature:

1) Use the open source version of TBB.

2) Contact Intel_Tools_Games@intel.com

Note the recent sample Game Engine Tasking does this ( static linking ) and the download page contains the same email link to contact.

Reply