2011-09-03 11 views
20

Jestem nowy z openCV i próbowałem wykonać kilka tutoriali. Wszystko działało dobrze, dopóki nie obejmowałem: opencv2/imgproc/imgproc.hpp i użyłem funkcji filter2D. Podczas uruchamiania mojego programu wystąpił następujący błąd:C++ tbb_debug.dll brakuje

"Program nie może się uruchomić, ponieważ brakuje pliku tbb_debug.dll na komputerze."

W Internecie znalazłem, że ten błąd ma coś wspólnego z 32 i 64-bitowymi wersjami bibliotek dll.

Używam 64-bitowej wersji systemu Windows i utworzyłem 32-bitową aplikację konsolową w VS2010, a aplikacja korzysta z 32-bitowej wersji biblioteki DLL OpenCV. Kiedy uruchamiam program "dependency walker", widzę, że mój program używa 64-bitowej wersji wszystkich bibliotek systemowych (w C: \ windows \ system32 ....). Tylko dll z opencv są 32-bitowe.

zrzut ekranu depenency Walker:

enter image description here Dzięki

+1

Aby analizować programy 32-bitowe, musisz użyć 32-bitowej wersji programu uruchamiającego zależności (możesz mieć zainstalowane dwie wersje programu uruchamiającego zależności). –

Odpowiedz

27

Zakładam, że używasz wstępnie skompilowane OpenCV 2.3 binarnych. Pakiet, z jakiegoś powodu, jest dostarczany z bibliotekami DLL tbb, ale nie z debugującymi (to znaczy z tbb.dll, ale nie tbb_debug.dll). Trzeba to uzyskać od Intela here lub jako część oprogramowania Intela suite (jeśli chcesz kupić/wypróbować). Kiedy już to zrobisz, wszystko, co musisz zrobić, to umieścić pliki DLL w ścieżce, w której znajduje się plik wykonywalny twojego programu. Najprostszym sposobem jest skopiowanie wszystkich plików tbb * _debug.dll do folderu bin OpenCV ..../build/common/tbb/intel64/vc10/

UPDATE [May '12]: OpenCV 2.4 jest już dostępny, a wysyła ze wszystkimi wymaganymi bibliotekami dll!

+0

Używam tylko 2.4.0 ... Miałem ten sam problem –

3

Jeśli potrzebujesz Intel TBB dll, które można uzyskać z

www.threadingbuildingblocks.org -> Przejdź do obszaru pobierania.

1

dla wszystkich, którzy chcą spróbować najprostsze rozwiązanie (jest jedynym rozwiązaniem że pracował dla mnie) to:

  1. prawym przyciskiem myszy na swój projekt w Visual Studio
  2. wybierz "Właściwości"
  3. pod bibliotekach wykonania opcji Intel
  4. wybierz "TAK" na "Użyj TBB"

Jak wyjaśniono w this video starting from 1:19

Powodzenia Ludzie! :)