С++ tbb_debug.dll отсутствует
Я новичок в openCV, и я пробовал следовать некоторым учебникам. Все работало нормально, пока я не включил: opencv2/imgproc/imgproc.hpp и использовал функцию filter2D. При запуске программы я получил следующую ошибку:
"Программа не может запускаться, поскольку на вашем компьютере отсутствует файл tbb_debug.dll.
В Интернете я обнаружил, что эта ошибка имеет какое-то отношение к 32-разрядным и 64-разрядным версиям DLL.
Я использую 64-битную версию окон и создаю 32-битное консольное приложение в VS2010, и приложение использует 32-разрядную версию DLL openCV.
Когда я запускаю программу "ходок зависимостей", я вижу, что моя программа использует 64-битную версию всей системной DLL (в C:\windows\system32....). Только dll opencv 32bit.
снимок экрана обходчика:
Благодаря
Ответы
Ответ 1
Я предполагаю, что вы используете предварительно скомпилированные двоичные файлы OpenCV 2.3. Пакет, по какой-то причине, поставляется с dll с tbb, но не с отладочными (т.е. С помощью tbb.dll, но не с tbb_debug.dll). Вам нужно получить это от Intel здесь или как часть пакета программного обеспечения Intel (если вы хотите купить/пытаться). Как только вы получите это, все, что вам нужно сделать, это поместить DLL в путь, где ваш исполняемый файл программы может его найти. Самый простой способ - скопировать все файлы tbb * _debug.dll в папку с файлами OpenCV..../build/common/tbb/intel64/vc10/
UPDATE [May '12]: OpenCV 2.4 сейчас отсутствует, и он поставляется со всеми необходимыми DLL файлами!
Ответ 2
Если вам нужна DLL Intel TBB, вы можете получить это от
www.threadingbuildingblocks.org → Перейдите в область загрузки.
Ответ 3
Для всех, кто хочет попробовать простейшее решение (это единственное решение, которое сработало для меня):
- щелкните правой кнопкой мыши на вашем проекте в Visual Studio
- выберите "Свойства"
- в соответствии с параметрами библиотек производительности Intel
- выберите "ДА" для "Использовать TBB"
Как объяснено в это видео, начиная с 1:19
Удачи!:)