Check if OpenCV is compiled with TBB
Asked Answered
E

1

13

How can I check if the OpenCV libraries installed on my Linux machine are compiled against TBB libraries or not?

Eleen answered 17/9, 2012 at 11:0 Comment(0)
K
16

Print the shared library dependencies of *libopencv_core* using ldd:

ldd /usr/local/lib/libopencv_core.so

And you should see TBB on the list.

If you were on Mac OS X the equivalent is otool -L, and on my system it outputs:

/Users/karlphillip/installers/OpenCV-2.4.2/build/lib/libopencv_core.2.4.dylib (compatibility version 2.4.0, current version 2.4.2)
libtbb.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

So according to the output above, my OpenCV installation was built to support TBB. ;D

Kalman answered 17/9, 2012 at 17:45 Comment(6)
Would it be possible to perform this check with CMake without relying on ldd ?Enterpriser
Yes. After you execute cmake it prints a list of the features that it supports and that will be compiled.Kalman
So, when in your own project you use FindPackage(OpenCV), you are able to search like OpenCV_HAS_TBB ?Enterpriser
Something like that. Download OpenCV sources and check the file OpenCVDetectTBB.cmake.Kalman
On Mac the command is otool -L /usr/local/lib/libopencv_core.2.4.dylibDevilry
I'd personally like to find out how to do this within CMake. Running ldd or whatever is not directly supported by build systems and is not portable.Photomontage

© 2022 - 2024 — McMap. All rights reserved.