Не удалось запустить приложение из-за того, что cv210.dll не был найден »- проблема с запуском приложения на других компьютерах - PullRequest
1 голос
/ 03 сентября 2011

Я пишу небольшое приложение, используя OpenCV. Все отлично работает на моем компьютере. Я могу без проблем скомпилировать и запустить мою программу. Однако, если я скопирую каталог Debug на другой компьютер и попытаюсь запустить MyApplication.exe, я получу

The application has failed to start because cv210.dll was not found" 

Что странно для меня, так это то, что все файлы lib находятся в каталоге Debug. Вот список файлов которые находятся в Debug

    2010-04-06  02:05           471˙900 cv210.lib
2010-04-06  02:11           473˙226 cv210d.lib
2010-04-06  02:06           501˙562 cvaux210.lib
2010-04-06  02:12           503˙016 cvaux210d.lib
2010-04-06  02:04           411˙508 cxcore210.lib
2010-04-06  02:10           412˙836 cxcore210d.lib
2010-04-06  02:05           215˙142 cxts210.lib
2010-04-06  02:05           232˙778 highgui210.lib
2010-04-06  02:12           233˙396 highgui210d.lib
2011-04-01  06:04         1˙622˙192 libboost_filesystem-vc100-mt-1_46_1.lib
2011-09-03  16:17         1˙144˙320 MyApplication.exe
2011-09-03  16:17         4˙037˙024 MyApplication.ilk
2010-04-06  02:04           321˙358 ml210.lib
2010-04-06  02:11           322˙314 ml210d.lib
2010-04-06  02:05           181˙208 opencv_ffmpeg210.lib
2010-04-06  02:12           181˙656 opencv_ffmpeg210d.lib

Что мне делать, чтобы запустить эту программу на других компьютерах

Ответы [ 4 ]

1 голос
/ 03 сентября 2011

На машине, на которой это не удалось, нет необходимых распространяемых файлов для OpenCV. Вы должны предоставить их или использовать статические ссылки. Вопреки вашему утверждению, cv210.dll - это , а не в списке файлов вашего вопроса.

Статическое связывание является хорошим вариантом с точки зрения удобства. Для динамического связывания самый простой вариант, если OpenCV поддерживает это, это просто поместить необходимые DLL в ту же папку, что и исполняемый файл.

Однако, поскольку указанная вами папка отладки не содержит DLL, я подозреваю, что для динамической компоновки вы должны установить ее в какое-то общее место, а не рядом с исполняемыми файлами. Для окончательного совета обратитесь к документации OpenCV.

0 голосов
/ 15 октября 2013

Ответ: Скопируйте все библиотеки DLL в \ OpenCV \ bin в \ WINDOWS \ System32.

0 голосов
/ 03 сентября 2011

.lib не является DLL.Библиотека похожа на коллекцию файлов obj.Компиляторы и компоновщики знают о вашем .lb файле, но он бесполезен для ОС.Вам нужна DLL для этого

0 голосов
/ 03 сентября 2011

Вы пытались поместить cv210.dll в этот каталог отладки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...