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?
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?
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
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 argsparâmetros CMake para substituir dinamicamente na etapa dois e executar cmake ..dentro do diretório de criação (criado), ele gerará um CMakeCache.txtarquivo.
Se você editar o CMakeCache.txtarquivo, poderá alterar:
CPACK_BINARY_DEB:BOOL=ON
... além das outras variáveis especificadas no link opencv acima. Em vez de correr makeou make install... apenas corra make packagee a mágica acontece.
Aviso: Se você tiver, WITH_CUDA:BOOL=ONpode ter problemas de dependência com o empacotador - e essa é uma pergunta totalmente diferente ...
Para mais informações, consulte os CPACK_*_*:BOOLparâmetros nos arquivos cmake e consulte a documentação do CPack:
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 executando dpkg -c OpenCV-*.debo 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 e dpkg -i $pkgnão irá gostar disso. Você pode saber se está escrito OpenCV-unknown-*{dev,libs}.debEm que caso git clone github.com/Itseez/opencve git checkout $tagna 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