как заставить мою программу с OpenCV работать на другом компьютере (Windows)?
Нет ничего удивительного, что программа с использованием OpenCV не запустилась на другом компьютере :) Причиной является в том, что вместе с программой нужно также переносить dll-файлы библиотеки OpenCV.
Они находятся в директории OpenCV-2.0.0\bin\Release\
скопируйте их в директорию к своему exe-файлу и пробуйте :)
Совсем не обязательно копировать все dll-файлы. Нужно просто определить — какие именно dll-файлы OpenCV вам необходимы для работы.
Например, если вы не используется функции машинного обучения, то линковать ml200.lib не нужно и ml200.dll так же явно лишний.
Посмотреть, какие именно dll-файлы требуются для работы вашей программы можно с помощью утилиты Dependency Walker
Всё ещё не заработало?
тогда вам не хватает Microsoft Visual C++ Redistruatable
либо проделать несколько шагов вручную: 1. Пересобрать свою программу с использованием внешнего манифеста (Project|Properties|Configuration Properties|Manifest Tool|Input and Output|Embed Manifest: No)
при этом в каталоге вместе с exe-ком появится файл название_программы.exe.manifest
Можно ли избежать переноса dll-файлов в папку bin, и каким либо образов вшить в реализуемую библиотеку на с++/cli? Т.е. чтобы я отдавал одну библиотеку mydllname.dll, а все используемые библиотеки opencv были в нее включены?
Нашел и на всякий случай напишу, что делать.
Копируем библиотеки из папки
C:\...\opencv\build\x86\vc9\bin
в папку с exe-файлом.
Туда же нужно добавить библиотеку tbb.dll — ее нет в официальной сборке opencv2.3.1, однако без нее opencv_imgproc231.dll работать отказывается.
Комментарии (7)
RSS свернуть / развернутьmurlakotam
noonv
murlakotam
noonv
murlakotam
villyz
Копируем библиотеки из папки
C:\...\opencv\build\x86\vc9\bin
в папку с exe-файлом.
Туда же нужно добавить библиотеку tbb.dll — ее нет в официальной сборке opencv2.3.1, однако без нее opencv_imgproc231.dll работать отказывается.
villyz
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.