找opencv的lib所在的目录

  最近在学习模式识别,需要用到opencv进行图像视频的处理,用yum安装的opencv。在《opencv中文参考手册2010年.pdf》中编译源代码的命令是

g++ hello-world.cpp -o hello-world -I /usr/local/include/opencv -L /usr/local/lib -lm -lcv -lhighgui -lcvaux

照抄下来,发现不能找到这里lib。用g++ `pkg-config opencv --libs --cflags opencv` hello-world.cpp -o hello-world是可以正常编译和执行的。

到/usr/local/lib中没有任何lib,因为是yum安装的,不知道lib文件放在哪。到/usr/lib/中也没找到。

想试一试上面第一条执行命令,根据pkg-config到/usr/lib/pkg-config/下cat opencv.pc可以看到opencv的lib确实在/usr/lib/中。于是去/usr/lib中一个一个的找highgui,发现很多文件找起来会很麻烦,于是把所有文件名<到一个txt文件再查找(很不专业的样子,应该有grep;菜鸟嘛)。发现有带opencv字样的文件名。原来刚开始在/usr/lib/中没有找到是因为我以为opencv的lib文件会是cvaux等等开头的。然后改一下第一条命令,正常编译链接。

g++ cvimg.cpp -o cvimg -I /usr/include/opencv/ -L /usr/lib/ -lm -lopencv_highgui

不过在源文件中引用了cv.h,链接的时候也是只需要链接   'libopencv_highgui.so'这个文件。

posted @ 2012-04-08 22:38  lawdong  Views(4864)  Comments(0Edit  收藏  举报
http://home.cnblogs.com/ing/