我的毕业设计做的是图像处理,是用VS2010+OpenCV完成的,C++&MFC。(我的是64位的,所以前后一致,全部选择都是64位的,当然也可以是32位的,前后要一致)
项目做完之后,导师建议能不能做成可执行文件,在其他没有安装VS和OpenCV的机子上直接运行,因为之前没有考虑过这个问题,所以当时只是在自己本地可以运行就行,现在要重新考虑这个问题,中间遇到了很多问题,花费了一个下午和一个晚上的时间,看了很多相关的博客,终于解决了这个问题,也希望对遇到相关问题的人有所帮助。
准备材料 :VS2010+OpenCV 2.4.10
(1)安装软件。安装VS2010。将下载的OpenCV解压到D:opencv。
(2)配置环境变量。计算机>属性>高级系统设置>环境变量>新建,新建一个用户变量,如变量名:Path,变量值:D:opencvuildx64vc10in。
(3)接下来就是我们正式的工作内容了。
打开VS2010,文件-》新建-》项目-》MFC应用程序,建立Test项目。点击确定,进入MFC应用程序向导,点击下一步,勾选“基于对话框”“在静态库中使用MFC”,取消“使用 Unicode库 ”。点击完成。
(4)右键Test,打开属性。
debug模式下:
VC++目录->包含目录,编辑,加入D:opencvuildinclude
D:opencvuildincludeopencv
D:opencvuildincludeopencv2
VC++目录->库目录,编辑,加入D:opencvuildx64vc10staticlib(这个很重要)
C/C++->代码生成->运行库,改成“多线程调试(/MTd)”
链接器->输入->附加依赖项,编辑加入下列项:
vfw32.lib
comctl32.lib
zlib.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
IlmImf.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_features2d2410d.lib
opencv_core2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib
Release模式下:
VC++目录->包含目录,编辑,加入D:opencvuildinclude
D:opencvuildincludeopencv
D:opencvuildincludeopencv2
VC++目录->库目录,编辑,加入D:opencvuildx64vc10staticlib(这个很重要)
C/C++->代码生成->运行库,改成“多线程(/MT)”
链接器->输入->附加依赖项,编辑加入下列项:
vfw32.lib
comctl32.lib
zlib.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
IlmImf.lib
opencv_calib3d2410.lib (注意,没有d)
opencv_contrib2410.lib
opencv_features2d2410.lib
opencv_core2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_nonfree2410.lib
opencv_objdetect2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_videostab2410.lib
点击“应用”,“确定”。
(5)如果大家全部用的是32位,现在就结束了,但是我的全部是64位的,所以还需要新建X64平台。需要注意一点,如何是64位的,只能运行在64位机子上。
(6) 然后就全部结束了,大家可以尝试着编写代码了。可以在项目里面找到Release->Test.exe,拷贝出来,就可以在其他机子上运行了。如何大家还有什么问题,欢迎交流。