这几天经历了VS2010调用OpenCV的配置问题,真的是很痛苦,一直报错,要么就应用程序无法正常启动(0xc000007b),最终网上找了n个博客教程才迷迷糊糊地实现了VS调用OpenCV显示图像。
下面看看是如何配置的吧:
step1:新建两个系统路径
名称为OpenCV_include,路径设为D:\OpenCV\opencv2_4_8\bulid\x64\vc10\bin
名称为OpenCV_Lib,路径为D:\OpenCV\opencv2_4_8\bulid\x86\vc10\bin
(设置两条路径的目的在于,后期项目中对于调用64位和32位的OpenCV都可以)
step2:新建Win32窗口工程;
step3:编写显示图片的代码;
//注意:在编写完代码之后不要急着F5或运行,等待外部依赖项完成配置文件工作,否则外部依赖项会缺失头文件!
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(){
IplImage* img = cvLoadImage("D:\\picture\\coldplay.bmp");
cvNamedWindow("Ex1", CV_WINDOW_AUTOSIZE);
cvShowImage("Ex1",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Ex1");
return 0;
}
Ready之后,开始准备进行VS调用OpenCV的相关配置。
step4:(1).右键项目->属性->VC++目录(VC++ Directories)->包含目录的路径设置(添加以下三个目录)
(2).右键项目->属性->VC++目录(VC++ Directories)->库目录的路径设置
(注意:头文件和lib库要匹配,如果出现error:LNK2019: unresolved external symbol cvDestroyWindow referenced in function main();说明在配置项目的时候
属性->VC++ Directories中的include和library中出了问题,这个问题实际上就是库版本兼容性的问题。那么对于64位系统来说,下面的路径把x86修改成x64)。
(3).右键项目->属性->链接(linker)->输入(input)添加以下文件名称:
(注意:如果你用的不是OpenCV2.4.8版本的,例如是2.4.5版本,把下面所有名称中248修改成245)
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_ml248d.lib
opencv_objdetect248.lib
opencv_ts248.lib
opencv_video248.lib
opencv_nonfree248.lib
opencv_ocl248.lib
opencv_photo248.lib
opencv_stitching248.lib
opencv_superres248.lib
opencv_videostab248.lib
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_objdetect248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_nonfree248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_videostab248d.lib
step5:对于64位系统来说,要自己建立一个x64的Configuration Manager,也就是建立一个64位的运行平台,否则很可能出现Error:.......0xc000007b(应用程序无法正常启动):
step6:新建x64运行平台之后,会发现代码提示错误,找不到相关文件,因为在x64平台下的属性还没有去配置:
下面需要把Debug|x64下的属性按照step4来进行配置,出现错误提示,同样将库目录中的x86改成x64。
step7:下面就可以成功运行啦,给你们看看coldplay还年轻的时候~~