OpenCV 2.4.2花了6个小时在Raspberry Pi上进行编译,我很乐意将所有内容打包为deb,但我从未做过。如何打包已编译的文件,以便它们下载或包含必要的其他库?
OpenCV 2.4.2花了6个小时在Raspberry Pi上进行编译,我很乐意将所有内容打包为deb,但我从未做过。如何打包已编译的文件,以便它们下载或包含必要的其他库?
Answers:
如果使用OpenCV来表示计算机视觉库,请访问http://opencv.willowgarage.com/,则Debian科学团队已经将它们打包为debian。
最好的选择是从最近的debian镜像下载debianized源程序包,根据需要修改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
两者。我认为开发人员有头文件ld用于链接libs中的.so。您也可以通过dpkg -c OpenCV-*.deb
在程序包上运行以找出其中的内容来解决这一问题。另外,如果您是从source.tar创建的,则可能没有版本号,dpkg -i $pkg
也不会这样。您可以在“发行版”标签和“发行版”标签中判断是否显示“ OpenCV-unknown-*{dev,libs}.deb
在这种情况下” 。如果从树的顶部进行构建,则还会在deb上获得标签。git clone github.com/Itseez/opencv
git checkout $tag
该页面应包含您需要的所有信息和教程:http : //wiki.debian.org/Packaging