2011-09-03 8 views
20

Soy nuevo con openCV y traté de seguir algunos tutoriales. Todo funcionó bien hasta que incluí: opencv2/imgproc/imgproc.hpp y utilicé la función filter2D. Obtuve el siguiente error cuando inicio mi programa:C++ tbb_debug.dll falta

"El programa no puede iniciarse porque tbb_debug.dll falta en su computadora".

En Internet, he encontrado que este error tiene algo que ver con las versiones de 32 y 64 bits de dlls.

Estoy usando la versión de 64 bits de Windows y he creado una aplicación de consola de 32 bits en VS2010 y la aplicación usa la versión de 32 bits de los discos dll de openCV. Cuando inicio el programa "walker de dependencias", puedo ver que mi programa usa la versión de 64 bits de todos los dll del sistema (en C: \ windows \ system32 ...). Solo el dll de opencv es de 32 bits.

captura de pantalla de depenency Walker:

enter image description here Gracias

+1

Debe utilizar la versión de 32 bits de la función de dependencia para analizar los programas de 32 bits (puede tener instaladas ambas versiones de la función de dependencia). –

Respuesta

27

Asumo que está utilizando pre-compilados OpenCV 2.3 binarios. El paquete, por alguna razón, se envía con tbb dlls pero no con los debug (es decir, por ejemplo con tbb.dll, pero no con tbb_debug.dll). Debe obtenerlo de Intel here o como parte de un software Intel suite (si desea comprar/probar). Una vez que obtienes esto, todo lo que tienes que hacer es poner los dlls en el camino donde el ejecutable de tu programa pueda encontrarlo. La forma más fácil es copiar todos los archivos tbb * _debug.dll en la carpeta bin OpenCV ..../build/common/tbb/intel64/vc10/

ACTUALIZACIÓN [May '12]: OpenCV 2.4 ya está disponible, y ¡se envía con todos los dlls necesarios!

+0

Estoy usando solo 2.4.0 ... tuve el mismo problema –

3

Si necesita de Intel TBB DLL se puede conseguir eso de

www.threadingbuildingblocks.org -> Ir a la zona de descarga.

1

Para todos los que quieren probar la solución más simple (es la única solución que trabajó para mí) es:

  1. haga clic derecho sobre el proyecto en Visual Studio
  2. seleccione "Propiedades"
  3. bajo las opciones de Intel bibliotecas de rendimiento
  4. seleccione "SI" para "uso TBB"

Como se explicó en this video starting from 1:19

¡Buena suerte! :)