O OpenCV 2.4.2 levou 6 horas para compilar no Raspberry Pi e eu adoraria empacotar tudo como um deb, mas nunca fiz isso antes. Como posso empacotar os arquivos compilados para que eles baixem ou incluam as outras bibliotecas necessárias?
9
Respostas:
Se por OpenCV você se refere às bibliotecas de visão computacional em http://opencv.willowgarage.com/ , elas já estão empacotadas para debian pela Equipe de Ciências da Debian.
Sua melhor aposta é baixar o pacote fonte debianizado do seu espelho debian mais próximo, modificar o debian / rules e / ou Makefile ou configurar etc, conforme necessário para compilar corretamente no raspberry pi e reconstruir os pacotes.
O trabalho de empacotamento já está pronto, não há necessidade de fazê-lo novamente .... e de novo e de novo sempre que você desejar atualizá-los.
Há um monte de pacotes binários, mas libopencv-dev é provavelmente o que você deseja começar com http://packages.debian.org/search?keywords=libopencv-dev
fonte
Eu pensei em adicionar uma resposta melhor para qualquer outra pessoa observando esse tópico.
Portanto, se você já passou pelo problema de criar opencv no dispositivo, provavelmente já seguiu as instruções aqui:
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
Nesse caso, se você não adicionar os
-D args
parâmetros CMake para substituir dinamicamente na etapa dois e executarcmake ..
dentro do diretório de criação (criado), ele gerará umCMakeCache.txt
arquivo.Se você editar o
CMakeCache.txt
arquivo, poderá alterar:CPACK_BINARY_DEB:BOOL=ON
... além das outras variáveis especificadas no link opencv acima. Em vez de correr
make
oumake install
... apenas corramake package
e a mágica acontece.Aviso: Se você tiver,
WITH_CUDA:BOOL=ON
pode ter problemas de dependência com o empacotador - e essa é uma pergunta totalmente diferente ...Para mais informações, consulte os
CPACK_*_*:BOOL
parâmetros nos arquivos cmake e consulte a documentação do CPack:http://www.cmake.org/Wiki/CMake:CPackPackageGenerators
fonte
OpenCV-*-{libs,dev}.deb
Você precisa de ambos. Eu acho que o dev tem os cabeçalhos que o ld usa para vincular o .so nas bibliotecas. Você também pode descobrir isso executandodpkg -c OpenCV-*.deb
o pacote para listar o conteúdo. Além disso, se você criou isso a partir do source.tar, talvez não tenha um número de versão edpkg -i $pkg
não irá gostar disso. Você pode saber se está escritoOpenCV-unknown-*{dev,libs}.deb
Em que casogit clone github.com/Itseez/opencv
egit checkout $tag
na guia releases. Se você construir a partir do topo da árvore, também receberá a tag deb.Esta página deve conter todas as informações e tutoriais necessários: http://wiki.debian.org/Packaging
fonte