OpenCV 2.4.2 потребовалось 6 часов для компиляции на Raspberry Pi, и я бы хотел собрать все как деб, но я никогда не делал этого раньше. Как я могу упаковать скомпилированные файлы так, чтобы они загружали или включали необходимые другие библиотеки?
9
Ответы:
Если под OpenCV вы имеете в виду библиотеки компьютерного зрения по адресу http://opencv.willowgarage.com/, то они уже упакованы для Debian научной командой Debian.
Лучше всего загружать исходный пакет debianised с ближайшего зеркала Debian, изменять debian / rules и / или Makefile, либо настраивать и т. Д., Если это необходимо для правильной компиляции на raspberry pi и перекомпоновки пакетов.
Работа по упаковке уже завершена, нет необходимости делать это снова .... и снова и снова каждый раз, когда вы хотите обновить их.
Существует целая куча бинарных пакетов, но libopencv-dev - это, вероятно, то, что вы хотите начать с http://packages.debian.org/search?keywords=libopencv-dev
источник
Я думал, что добавлю лучший ответ для всех, кто наблюдает за этой веткой.
Итак, если вы уже столкнулись с проблемой сборки opencv на устройстве, вы, вероятно, выполнили следующие инструкции:
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
В этом случае, если вы не добавите
-D args
динамическое переопределение параметров CMake на втором шаге, а вместо этого просто запуститеcmake ..
внутри каталога сборки (который вы создали), он сгенерируетCMakeCache.txt
файл.Если вы редактируете
CMakeCache.txt
файл, вы можете изменить:CPACK_BINARY_DEB:BOOL=ON
... в дополнение к другим указанным переменным в приведенной выше ссылке opencv. Вместо бега
make
илиmake install
... просто бегиmake package
и волшебство случается.Предупреждение: если у вас есть, у
WITH_CUDA:BOOL=ON
вас могут быть проблемы с зависимостью от упаковщика - и это совершенно другой вопрос ...Для получения дополнительной информации смотрите
CPACK_*_*:BOOL
параметры в файлах cmake и обратитесь к документации CPack:http://www.cmake.org/Wiki/CMake:CPackPackageGenerators
источник
OpenCV-*-{libs,dev}.deb
Вы должны оба. Я думаю, что у dev есть заголовки, которые ld использует для связи с .so в библиотеках. Вы также можете выяснить это, запустивdpkg -c OpenCV-*.deb
пакет, чтобы получить список содержимого. Кроме того, если вы создали это из source.tar, у вас может не быть номера версии, и вамdpkg -i $pkg
это не понравится. Вы можете сказать, если он говоритOpenCV-unknown-*{dev,libs}.deb
В каком случаеgit clone github.com/Itseez/opencv
иgit checkout $tag
на вкладке релизов. Если вы строите с вершины дерева, вы также получаете метку на deb.На этой странице должна быть вся необходимая информация и учебные пособия: http://wiki.debian.org/Packaging
источник