Fedora 18 下编译安装 OpenCV
2013-02-15 02:47 robturtle 阅读(1076) 评论(0) 编辑 收藏 举报经过这次独立编译完成了OpenCV下的安装,标志着我已经脱离了Linux菜鸟阶段,已经向新手阶段迈进拉!
从听说Linux到现在正好整一年,作为一个有追求的又喜欢装逼的linuxer,这个时候最应该做的就是把ubuntu换掉。一开始的备选是装debian,不过我很快就改变主意选择了fedora,一是因为名字好听,二是因为自带gnome3.6。
fedora下没有OpenCV二进制包,于是我只能手动编译。
OpenCV的依赖有:
pkg-config libpng zlib libjpeg libtiff libjasper
另外一个重要的依赖是 ffmpeg,为了这个东西我整了好久。。。
如果需要GUI则要预先安装GTK+2.x或者GT 4.x , 在yum下无脑安装即可。不过我的gtk是编译安装的,安装时碰到有 XInput2 找不到的问题,google了好几分钟才找到需要的包装上。
编译的顺序是先OpenCV再ffmpeg,我选择gtk+的GUI,所以gtk我已经先安装好了。
接着在编译OpenCV的时候把 opencv_world 的编译选项打开,make之。
然后编译ffmpeg,使用
./configure --enbale-shared --enable-libopencv && sudo make install
这个时候出现问题了,configure提示找不到opencv,原来OpenCV默认安装在/usr/local下,pkg-config好像找不到那里去,我在.bashrc下添加了
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
之后,ffmpeg便配置成功了。
然后我编译运行OpenCV的程序,每个都失败,提示是:
Illegal instruction (core dump)
和指令有关应该是和解码库有关,我直接运行ffmpeg,提示为 libav***.so.* 找不到,而它说明的这个库我明明就刚安装好。google后才知道,原来还是和path有关,在ld.so.conf下添加/usr/local/lib搜索路径,并输入指令
# ldconfig
这才使ffmpeg成功运行,而此时的OpenCV程序也全都正常运行啦!
PS:在今天的漫漫搜索路上,我用百度时被这位壮士给抓了个正着,顿时羞愧难当。。。