多语言展示
当前在线:1523今日阅读:91今日分享:37

视觉图像:程序在没安装OpenCV和VS的电脑上运行

绪:经常需要把用opencv写的程序拿到没有装opencv的电脑上去运行和演示,要让opencv程序脱离opencv环境,一般有两种方法:(1)静态编译:将相应dll中的函数打包进exe,然后直接拷贝exe到目标电脑上去运行;(2)动态链接opencv,即把相应的dll拷贝到exe所在目录,然后一起拿到目标电脑上去运行;
工具/原料
1

OpenCV2410+VS2010

2

everything搜索工具

方法/步骤
1

由于静态链接的方法,生成的exe太大,放弃。故以OpenCV2.4.10+VS2010编写的x64的图像模糊程序为例介绍动态编译;属性配置:包含目录、库目录;附加依赖项如下:opencv_calib3d2410d.libopencv_contrib2410d.libopencv_core2410d.libopencv_features2d2410d.libopencv_flann2410d.libopencv_highgui2410d.libopencv_legacy2410d.libopencv_ml2410d.libopencv_nonfree2410d.libopencv_objdetect2410d.libopencv_ocl2410d.libopencv_photo2410d.libopencv_stitching2410d.libopencv_superres2410d.libopencv_ts2410d.libopencv_video2410d.libopencv_videostab2410d.libopencv_gpu2410d.libopencv_imgproc2410d.lib

2

打开项目配置页->c/c++->代码生成->运行库,设置成多线程调试DLL(/MDd)(release版的程序选择MD,这一步是为了添加程序运行需要的运行库)

3

文件拷贝:运行程序生成exe文件;将对于的dll库文件拷贝到exe的当前目录下;将图片数据存放在exe当前目录下;

4

查找相关文件:【注】:具体需要拷贝哪些对应的dll库在exe文件下呢?有两种方法:①:先exe相关文件拷贝到目标电脑中,运行;提示缺少哪个dll库文件,就去自己的电脑中去拷贝相应文件;【推荐】:推荐一个windows下全盘搜索工具,everything工具;很方便;

5

②使用dependents查看exe所需要的dll库:a开始->所有程序->Microsoft Visual Studio 2010 ->Visual Studio Tools->Visual Studio x64 Win64 命令提示:b输入dumpbin命令;弹出界面如下;c按回车键继续;d输入命令:dumpbin /dependents  c:\xxx.exe 弹出所需dll库;

6

在目标电脑上双击xxx.exe,运行程序,OK!最终的文件夹包含:exe程序、所需的运行库dll文件;

注意事项
1

查看程序或动态链接库需要的动态链接库:dumpbin /dependents d:\test.exe

2

查看动态链接库的输出函数:dumpbin /exports d:\libmysql.dll;

推荐信息