opencv出现不能运行release版本的问题
2017-07-15 11:15
218 查看
针对opencv的配置网上有一大堆资料介绍,而介绍的内容也大致相同,按照网上的方法就可以配置成功opencv的debug版本的,但是当我们想要使用release版本的时候就会出现问题的,就会出现编译通过但是运行崩溃的问题。
解决方案:这个问题的原因是release版本的配置问题。针对此,我提供了一下的解决方案,就是对release版本进行配置。
具体步骤:
1. 在我们配置debug版本时,在“配置属性管理器”中配置了附加依赖库,就是如下的内容:
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
这个动态库共分为两个部分,一部分是末尾加d的,比如opencv_objdetect249d.lib。一部分是末尾不加d的opencv_objdetect249.lib。
加d的表示debug版本,不加d的表示release版本!
到这里问题就清楚了。
2. 我们只需要把debug模式的动态库和release模式的动态库进行交换即可。
debug模式下的动态库配置如下:
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
release模式下的动态库配置如下:
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
仔细观察就会发现,
debug模式下,后面有d的所有动态库都在不加d的动态库上面。
release模式下,后面有d的所有动态库都在不加d的动态库下面。
重点:需要编译什么版本就把对应所有动态库放到另一种模式的动态库上面就可以了。
32位和64位处理方式同理。
解决方案:这个问题的原因是release版本的配置问题。针对此,我提供了一下的解决方案,就是对release版本进行配置。
具体步骤:
1. 在我们配置debug版本时,在“配置属性管理器”中配置了附加依赖库,就是如下的内容:
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
这个动态库共分为两个部分,一部分是末尾加d的,比如opencv_objdetect249d.lib。一部分是末尾不加d的opencv_objdetect249.lib。
加d的表示debug版本,不加d的表示release版本!
到这里问题就清楚了。
2. 我们只需要把debug模式的动态库和release模式的动态库进行交换即可。
debug模式下的动态库配置如下:
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
release模式下的动态库配置如下:
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
仔细观察就会发现,
debug模式下,后面有d的所有动态库都在不加d的动态库上面。
release模式下,后面有d的所有动态库都在不加d的动态库下面。
重点:需要编译什么版本就把对应所有动态库放到另一种模式的动态库上面就可以了。
32位和64位处理方式同理。
相关文章推荐
- Debug版本下能运行而Release下不能运行的问题总结
- 关于OpenCV2.4.0以后版本不能运行SURF和SIFT的问题
- 在PHP5.3以上版本运行 ecmall 出现的问题及解决方案
- 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
- QT_openCV2.4.9或相关版本编译正常,运行时提示“程序异常结束”问题分析
- 在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案
- 遇到一个debug版本和release版本运行结果不同的问题
- 关于ubuntu 命令update-alternatives --config java 安装jdk出现不能选择版本问题!
- 在PHP5.3以上版本运行 ecmall 出现的问题及解决方案
- ADO 版本问题导致了程序不能在其他电脑运行
- VS2015+opencv,按照网上的VS2013教程配置的,运行的时候出现【无法启动此程序,因为计算机中丢失MSVCP120D.dll。尝试重新安装该程序以解决问题。】
- 在PHP5.3以上版本运行 ecmall 出现的问题及解决方案
- android定义新的api解决一些低版本不能运行的问题
- 在PHP5.3以上版本运行ecshop出现的问题及解决方案
- visual studio 2010 出现问题,不能设置断点调试了,一运行就未响应,然后程序退出
- kettle carte 打包运行job出现不能读取子转换的问题解决。
- 在PHP5.3以上版本运行 ecmall 出现的问题及解决方案
- 关于resin3以上版本不能运行struts1.2程序的问题解决办法
- 【游戏开发备注之一】关于Cocos2dx_v1.x版本iphone与Android运行出现图片白块、添加GameCenter报错问题及编译Android闪退的解决办法&&CCLOG与CClog的区别
- android定义新的api解决一些低版本不能运行的问题