首先,参考网上资源http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337
的博文一步一步的配置
配置完成后,发现我的vs2010仍然不能编译成功,出现”无法解析的外部符号”的提示错误
即:链接库没有配置成功
经过测试发现,我的vs2010配置的”VC++目录->库目录”是无效的
但是”VC++目录->包含目录”是有效的
保留”VC++目录->包含目录”的配置,删除其他所有配置
自定义一个”opencv_config.h”文件
#include "D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\include\\opencv2\\opencv.hpp"
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_calib3d231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_contrib231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_core231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_features2d231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_flann231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_gpu231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_highgui231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_imgproc231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_legacy231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_ml231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_objdetect231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_ts231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_video231d.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_calib3d231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_contrib231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_core231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_features2d231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_flann231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_gpu231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_highgui231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_imgproc231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_legacy231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_ml231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_objdetect231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_ts231.lib")
#pragma comment(lib,"D:\\OpenCV-2.3.1-win-superpack\\opencv\\build\\x86\\vc10\\lib\\opencv_video231.lib")
路径为OpenCV的安装路径
在main.h中包含这个opencv_config.h文件,即可正常使用OpenCV
#include "opencv_config.h"
using namespace std;
int main()
{
const char *pstrImageName = "pic.jpg";
const char *pstrWindowsTitle = "OpenCV第一个程序(http://blog.youkuaiyun.com/MoreWindows)";
//从文件中读取图像
IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
//创建窗口
cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
//在指定窗口中显示图像
cvShowImage(pstrWindowsTitle, pImage);
//等待按键事件
cvWaitKey();
cvDestroyWindow(pstrWindowsTitle);
cvReleaseImage(&pImage);
return 0;
}