最近在搞Linux上用Eclipse(C++版本)开发 OpenCV,配环境配的那真是配到天昏地暗,不知所措,好在配成功了,期间参考了大量的帖子,所以,特立此贴,希望能给后来人一些小建议!
1.CentOS6.5安装
由于本人在虚拟机上搞得,至于你如何安装我只能祝君好运了,在此附个CentOS6.5下载地址。(http://yunpan.cn/cfCWdjWFz8hss 提取码 d3bc)
2.Eclipse(C++版本)安装
http://www.eclipse.org/downloads/
网址在上面,注意是C++版本,我在此也附一个下载地址。(http://yunpan.cn/cfCWktJ6v24ZW 提取码 098e)
3.C++编译器的安装
百度“centos yum c++”,很简单。
4.OpenCV安装
百度一下“centos opencv",有很多安装指导贴,在此附上一贴(http://blog.csdn.net/xuejiren/article/details/24347555)提醒大家,安装之前一定安装依赖包(很重要)!!!之后的编译、安装、配置环境不再赘述。
再次附上一个opencv的下载链接。(http://yunpan.cn/cfC5VZqRd8nXI 提取码 fa49)
5.写一个测试文件”test.cpp“,编译时我的问题出现了!
注意上图中的红点处的:Invoking: Cross G++ Linker (链接器) 和 g++ -o "OpenCVTest " ./main.o (g++命令)
程序语法上没有问题,是Eclipse找不到opencv的库文件导致的。搜了好多帖子,有一个解决办法如下:
http://stackoverflow.com/questions/7816607/opencv-2-3-compiling-issue-undefined-refence-ubuntu-11-10
帖子中有一句话: g++ -o test_1 test_1.cpp `pkg-config opencv --cflags --libs`,而且 http://www.cnblogs.com/2011winseu/archive/2012/08/04/2623259.html
也印证了这个问题!我试了下也确实可行!也就是Eclipse自动生成的g++命令缺少`pkg-config opencv --cflags --libs`这句话,那我们就手动加上去!
也就是说在终端直接使用g++命令编译是可以的!路径也都是配置正确的!但Eclipse偏偏就没找到路径!受上面的一句话启发,我解决了这个问题,如下图:
在红色箭头的地方添加:`pkg-config opencv --cflags --libs`
看看图中的g++命令。
完成!整个过程有很多细节都很重要,一不留神,就可能错过某个步骤而导致接下来的不正确,大家还需要多多借助搜索引擎查查资料,本文核心在于第5点,希望对新手能够有所帮助,谢谢指正!