您尚未登录。

#1 2013-02-28 15:17:30

meepo
会员
注册时间: 2013-02-28
帖子: 2

opencv找不到某个so文件

opencv昨天还好好的,可以正常编译和运行程序。今早手贱把arch更新了,然后编译程序的时候,出现一下错误:
$ g++ `pkg-config --cflags --libs opencv` -o BagOfWords BagOfWords.cpp   

/usr/bin/ld: warning: libavutil.so.51, needed by /usr/local/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/local/lib/libopencv_highgui.so:对‘av_freep@LIBAVUTIL_51’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘av_sub_q@LIBAVUTIL_51’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘av_log_set_level@LIBAVUTIL_51’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘av_rescale_q@LIBAVUTIL_51’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘av_free@LIBAVUTIL_51’未定义的引用
/usr/local/lib/libopencv_highgui.so:对‘av_malloc@LIBAVUTIL_51’未定义的引用
collect2: 错误:ld 返回 1

find了一下,系统里面确实也找不到libavutil.so.51这个文件,在wiki上也找不到。这个文件好像是和ffmpeg有关的。在网上找了个链接
“http://www.openmamba.org/download.html?file=/pub/openmamba/devel/RPMS.x86_64/libavutil-ffmpeg-0.10.3-1mamba.x86_64.rpm”
里面有libavutil.so.51这个文件,但是不知道能不能直接用。。。
请问各位,这个问题如何解决呢?先谢了~~~

离线

#2 2013-02-28 18:10:08

fengchao
会员
注册时间: 2012-02-21
帖子: 116

Re: opencv找不到某个so文件

Opencv 自己编译的还是装源里面的?
如果是自己装的试试重新编译,如果是官方源里面的可以报bug要求维护者重新编译

ffmpeg 升级修改 libavutil.so 版本号,就是向使用它的所有程序说:我和以前不二进制兼容了,请重新编译

官方源里面有 so 版本升级,都应该触发依赖它的软件包重新编译,发布新的版本。

离线

#3 2013-02-28 23:22:29

meepo
会员
注册时间: 2013-02-28
帖子: 2

Re: opencv找不到某个so文件

fengchao 说:

Opencv 自己编译的还是装源里面的?
如果是自己装的试试重新编译,如果是官方源里面的可以报bug要求维护者重新编译

ffmpeg 升级修改 libavutil.so 版本号,就是向使用它的所有程序说:我和以前不二进制兼容了,请重新编译

官方源里面有 so 版本升级,都应该触发依赖它的软件包重新编译,发布新的版本。

太感谢了,重新编译一下opencv就解决了,真心受教了~~

离线

#4 2013-03-01 10:52:24

xgdgscarch
会员
注册时间: 2012-05-07
帖子: 191

Re: opencv找不到某个so文件

Arch一般还是用源里的比较方便,足够新。
另外建议不要在周一至周五升级,影响到正常的学习/工作就不好了。个人每周五晚上升级一次,留足够的解决问题时间。

离线

页脚