OpenCV 2.4.2 потребовалось 6 часов для компиляции на Raspberry Pi, и я бы хотел собрать все как деб, но я никогда не делал этого раньше. Как я могу упаковать скомпилированные файлы так, чтобы они загружали или включали необходимые другие библиотеки?
OpenCV 2.4.2 потребовалось 6 часов для компиляции на Raspberry Pi, и я бы хотел собрать все как деб, но я никогда не делал этого раньше. Как я могу упаковать скомпилированные файлы так, чтобы они загружали или включали необходимые другие библиотеки?
Ответы:
Если под 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:
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