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

Comments

Hi,

With this in cmakecache.txt

//Include opencv_world module into the OpenCV build
BUILD_opencv_world:BOOL=ON
//Include NVidia Cuda Runtime support
WITH_CUDA:BOOL=ON
//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING= /machine:x64
//The path to TBB headers
TBB_INCLUDE_DIRS:PATH=F:/Lib/tbb43_20150316oss/include
//Full path of TBB library directory
TBB_LIB_DIR:PATH=F:/Lib/tbb43_20150316oss/lib/intel64/vc12
//Include NVidia Cuda Fast Fourier Transform (FFT) library support
WITH_CUFFT:BOOL=ON

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
1

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