Opencv在Release和Debug不同模式下的配置
2017-07-13 08:47
1486 查看
1、Release和Debug的区别
Release版称为发行版,Debug版称为调试版。
Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。
Release的exe文件链接的是标准的MFC DLL(Use MFC in a shared or static dll)。这些DLL在安装Windows的时候已经配置,所以这些程序能够在没有安装Visual C++的机器上运行。而Debug版本的exe链接了调试版本的MFC DLL文件,在没有安装Visual C++的机器上不能运行,因为缺相应的DLL,除非选择use static
dll when link。
2、OpenCV在Release和Debug下配置的区别
上文已经说明Release和Debug的区别,所以opencv在Debug和Release不同环境下都需要进行对应的配置的。
另外我们需要注意,Opencv并不是Windows下标准库,所以它的DLL文件在安装Windows的时候并不会随之配置。也就是说Release和Debug环境下,Opencv库都有对应的Lib和DLL文件,我们在对应模式下都需要配置。并且在发行程序exe之后,随之的DLL文件也需要放置在同一文件夹中,否则程序会报错找不到对应的DLL文件。
我们看Opencv发行的库中DLL文件的截图:
其中*d.dll文件就是Debug下的DLL文件,*.dll文件就是Release下的DLL文件。它们的配置过程一样,仅链接器输入中对应DLL文件不同。过程如下:
① Windows的环境变量:
【你放置opencv的路径】/opencv/build/x64/vc12/bin;
② VS中包含目录:
【你放置opencv的路径】/opencv/build/include;
③ VS中包含库目录:
【你放置opencv的路径】/opencv/build/x64/vc12/lib;(vc12还是vc10根据你VS版本而定)
④ 链接器->输入(Debug下,若为Release去掉所有的’d’;当然也可以把两种都加入,以免两种模式切换配置麻烦):
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
参考:
http://blog.sciencenet.cn/home.php?mod=space&uid=294785&do=blog&id=254300
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
转载请注明出处:http://blog.csdn.net/FX677588/article/details/72622011
Release版称为发行版,Debug版称为调试版。
Debug中可以单步执行、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢。Release版运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。
Release的exe文件链接的是标准的MFC DLL(Use MFC in a shared or static dll)。这些DLL在安装Windows的时候已经配置,所以这些程序能够在没有安装Visual C++的机器上运行。而Debug版本的exe链接了调试版本的MFC DLL文件,在没有安装Visual C++的机器上不能运行,因为缺相应的DLL,除非选择use static
dll when link。
2、OpenCV在Release和Debug下配置的区别
上文已经说明Release和Debug的区别,所以opencv在Debug和Release不同环境下都需要进行对应的配置的。
另外我们需要注意,Opencv并不是Windows下标准库,所以它的DLL文件在安装Windows的时候并不会随之配置。也就是说Release和Debug环境下,Opencv库都有对应的Lib和DLL文件,我们在对应模式下都需要配置。并且在发行程序exe之后,随之的DLL文件也需要放置在同一文件夹中,否则程序会报错找不到对应的DLL文件。
我们看Opencv发行的库中DLL文件的截图:
其中*d.dll文件就是Debug下的DLL文件,*.dll文件就是Release下的DLL文件。它们的配置过程一样,仅链接器输入中对应DLL文件不同。过程如下:
① Windows的环境变量:
【你放置opencv的路径】/opencv/build/x64/vc12/bin;
② VS中包含目录:
【你放置opencv的路径】/opencv/build/include;
③ VS中包含库目录:
【你放置opencv的路径】/opencv/build/x64/vc12/lib;(vc12还是vc10根据你VS版本而定)
④ 链接器->输入(Debug下,若为Release去掉所有的’d’;当然也可以把两种都加入,以免两种模式切换配置麻烦):
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_ml248d.lib opencv_objdetect248d.lib opencv_ts248d.lib opencv_video248d.lib opencv_nonfree248d.lib1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
参考:
http://blog.sciencenet.cn/home.php?mod=space&uid=294785&do=blog&id=254300
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
转载请注明出处:http://blog.csdn.net/FX677588/article/details/72622011
相关文章推荐
- Release和Debug模式的区别以及Opencv在Release和Debug不同模式下的配置
- Release和Debug模式的区别以及Opencv在Release和Debug不同模式下的配置
- Android在debug和release模式自动加载不同的配置文件
- OpenCV:Debug和Release模式 && 静态和动态编译
- [OpenCV] VS2010中OpenCV2.X配置Debug和Release同时正常使用
- Android Studio中debug和release模式默认的参数配置
- MAPLAP开发环境中release模式和debug模式烧写.hex文件的不同之处
- ios开发答疑录系列---xcode release 和 debug 模式造成的不同
- OpenCV配置C++篇(Debug与Release下有所区别)
- OpenCV一次配置Debug和Release,反复使用的方法
- web.confgi转换,web发布时发布配置(debug/release)生成不同的配置文件
- android studio的debug和release模式下使用不同的Http前缀进行测试与正式环境的自动切换
- IOS中(Xcode) DEBUG模式(RELEASE模式)控制NSLog输出,NSLog两种不同情况的输出方式
- OpenCV一次配置Debug和Release,反复使用的方法
- ios开发答疑录系列---xcode release 和 debug 模式造成的不同
- 让程序分别在DEBUG模式和RELEASE模式选择不同代码路径的方法 _DEBUG
- 【sha1的获取】分为debug模式下跟release模式下的不同获取方式
- 【OpenCV配置之二】VS2013:LNK2038 RuntimeLibrary不匹配问题(Release Debug混合错误)
- Debug模式误用Opencv Release库的错误
- vs2005下debug模式和release模式的不同