加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Opencv2.1+vs2008生成不依赖…

发布时间:2020-12-13 23:13:28 所属栏目:百科 来源:网络整理
导读:原文地址: Opencv2.1+vs2008生成不依赖编译环境的exe文件 作者: lyy123 工作环境: IDE:Microsoft Visual Studio 2008 Opencv版本:Opencv2.1 操作系统:Windows 7 前言:之前为了能在没装vs2008和opencv的电脑上面运行自己写的opencv程序,真是花了九牛二
原文地址:Opencv2.1+vs2008生成不依赖编译环境的exe文件 作者:lyy123

工作环境:

IDE:Microsoft Visual Studio 2008

Opencv版本:Opencv2.1

操作系统:Windows 7

前言:之前为了能在没装vs2008和opencv的电脑上面运行自己写的opencv程序,真是花了九牛二虎之力,因为之前在网上查到的资料都是教你怎么生成opencv的静态库,比如http://blog.csdn.net/sophisticated/archive/2011/03/09/6234943.aspx这篇博客里面方法,我也不是说他的方法有错,只是我是用里面的方法生成那些库怎么都无法成功编译,都在链接那里出现error,还有就是vfw32.lib videoinput.lib这两个库文件是用这个博文的方法是无法生成的,由于多次尝试静态库未果,果断抛弃。后来我又上网找了一些资料,据说能用动态库来生成其他电脑上也能运行的opencv程序,下面我来详细说明。

我们都知道,vs2008编译项目有两个版本:Debug和Release,这里我们在Release下生成exe文件,为什么要在Release下面生成呢,原因是你在Debug模式下生成的exe需要vs2008的一些Debug库文件支持,就是说你在没有vs2008的机子上是无法正常运行的,所以要在Release模式下面编译项目。

步骤:

1、把工程调成Release模式。

2、右键项目->属性 打开项目属性页面,首先在配置属性->常规页面,如果你是MFC程序,那在“MFC的使用”那选择“在静态库中使用MFC”。然后在配置属性->C/C++ ->代码生成页面,“运行时库”里面选“多线程(/MT)”。

3、然后生成重新解决方案,生成了之后会在项目的Release文件夹下面看到一个exe文件和一个pdb文件(注意:这不是用静态库生成的)。

4、打开opencv2.1的安装目录,在“安装路径”OpenCV2.1bin目录下将所有的Release版本的动态库文件拷贝到Release文件夹里面,跟exe文件放在一起。这样你的程序就可以在其他电脑上面运行了。

小插曲:我运行的时候发现一个问题,Debug模式下生成的exe文件跟Release模式下生成的exe文件运行效果有可能不一样,我的原因是有些变量没有初始化,在Release模式下编译是经过优化的,有些没有初始化的变量就导致运行结果不一样。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读