光opencv这个环境配置了一天多,百度各种教程各种不行,按步骤来后最后出现了link1104的error,当然最好还是得以解决。
配置VS2010的opencv环境时请注意我的opencv版本是2.4.8,如果您的不是可能需要自己再修改。
设置系统环境变量、添加VC++目录均与网络上的教程大体相同。
1、网上的教程可能需要你配置C:\opencv\build\common\tbb\ia32\vc10
而2.4.8版本解压完没有这个路径,我在网上找到了该目录下的文件,结果发现PATH里配置和不配置没有区别,暂时都能运行。
2、在配置附加依赖项时,切不可网上随便复制,我的问题就出在这。以opencv_calib3d248d.lib为例,最后的248是openc的版本号,在网上直接复制粘贴的时候注意下,否则会出现link1104 无法打开**.lib 这样的问题,而且我这边一共是19项,在先前的几个版本里数了下没有19项这么多。
这是我在vs2010配置opencv环境中出现并解决掉的两个问题,另外系统位数也可能会让人犯错,32为选X86,64位选X64。如果配置还是出错,先查下自己的配置是否有错,其次要附加的依赖项,在实际中有没有,最好还是有问题,请google非百度。
opencv2.4.8
debug附加依赖项配置:
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_ml248d.lib
opencv_nonfree248d.lib
opencv_objdetect248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_videostab248d.lib
release附加依赖项配置:
opencv_calib3d248.lib
opencv_contrib248.lib
opencv_core248.lib
opencv_features2d248.lib
opencv_flann248.lib
opencv_gpu248.lib
opencv_highgui248.lib
opencv_imgproc248.lib
opencv_legacy248.lib
opencv_ml248.lib
opencv_nonfree248.lib
opencv_objdetect248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_videostab248.lib
测试代码:
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("pp.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("xx的靓照",img);
waitKey();
return 0;
}
选一张图片,命名为pp.jpg,存入到D:\VC\text\text中,注我的项目名和CPP文件均是text,程序运行结果是显示这个图。
参考资料:
[1]http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html
[2]JohnHany的博文http://johnhany.net/2013/11/environment-for-opencv-with-vs2010/