openCV 3.0 beta (source) + tbb [closed]

asked 2015-04-02 14:42:37 -0600

JohannesZ gravatar image

updated 2015-04-02 14:45:59 -0600

Hi there,

again a new post about compilation from openCV 3.0 master branch and tbb. Here is what I have done so far:

  • machine: win7, 32bits, visual studio 2013 (vc12)
  • set all path variables to openCV (code from master branch) and TBB (precompiled-win-zip)
  • ran cMake and activated with_tbb.
  • After configure, set the path to the relevant files (include-dirs, lib-dir, stddef-path)
  • my openCV folder is located at C:\Code\openCV3, my TBB folder C:\Code\tbb - is this a problem or must the tbb folder be included directly in the openCV folder?

  • added the tbb include and lib files to a property sheet and build openCV as debug (later as release). No errors, everything worked fine.

  • hit "install" including and linking to all files
  • in my test application compilation works, but at execution time, I am getting this failure:

"Failure in a procedure entry point" "?getHostMemRef@_OutputArray@cv@@UBEAAVHostMem@cuda@2@xz was not found in the dll opencv_world300d.dll"

I definitely deactivated WITH_CUDA and WITH_CUFFT in Cmake. So, why do I get this failure and what does "cuda" in this endless string mean? I have no CUDA graphics card and therefore deactivated these options, so I don't understand this problem.

Do you have a tip for me? Thank you so much, Johannes

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by sturkmen
close date 2020-09-17 05:10:47.509881



With this in cmakecache.txt

//Include opencv_world module into the OpenCV build
//Include NVidia Cuda Runtime support
//Flags used by the linker.
//The path to TBB headers
//Full path of TBB library directory
//Include NVidia Cuda Fast Fourier Transform (FFT) library support

and windows 7-64bits VS2013 and GeForce GT 630 OpenCV 3.0.0-dev I can run my application without any error in release configuration (not like you you are in debug) May be you can use depends to check dll path.

LBerger gravatar imageLBerger ( 2015-04-02 15:40:53 -0600 )edit

Hi, thanks for your answer. The problem is that I definitely don't want to use CUDA, so I set all CUDA-related flags to OFF/NO. I really don't understad why I get some kind of "cuda error message" mentioned above.

JohannesZ gravatar imageJohannesZ ( 2015-04-02 16:43:27 -0600 )edit

Hmm, maybe a stupid question but what kind of version is this exactly?? 2.4.X oder a 3.0 beta?

openCV at GitHub

JohannesZ gravatar imageJohannesZ ( 2015-04-02 16:46:34 -0600 )edit

Where is the CMake output? Was the error only this line? Or is there a stack trace, if so, please post it.

boaz001 gravatar imageboaz001 ( 2015-04-02 17:07:05 -0600 )edit

I have tried with WITH_CUFFT:BOOL=OFF WITH_CUDA:BOOL=OFF WITH_CUFFT:BOOL=OFF I haven't got any problem. In debug mode you can check all dll loaded in the output window of msvc. I think one dll loaded at run time it's an old one build with cuda.

LBerger gravatar imageLBerger ( 2015-04-03 01:14:19 -0600 )edit

Hi, there was a failure in my path variable, I linked my executable against an older version of openCV. It is working now, thanks a lot!

JohannesZ gravatar imageJohannesZ ( 2015-04-04 08:28:17 -0600 )edit