zoukankan      html  css  js  c++  java
  • 解决VS+opencv中Debug版本与Release版本lib切换的问题

    Author: Maddock

    Date: 2015-03-26 09:34:48

    问题来源:http://bbs.csdn.net/topics/390733725

    PS: 按照上述方法做的时候,在debug和release界面的附加依赖项里其中一个编辑完,另一个为什么也出现了和其一样的附加依赖项?怎么实现debug和release中的附加依赖项不一样?? 哪位大侠知道解决方法,求告知!!!!!

    在VS下面,opencv的debug和release版本需要不同的lib版本,在debug版本和release版本切换比较麻烦

    参考方案1:
    参考来源:http://blog.csdn.net/xiaohuh421/article/details/7476485
    #ifdef _DEBUG
    #pragma comment(lib,"..\debug\LedCtrlBoard.lib")
    #else
    #pragma comment(lib,"..\release\LedCtrlBoard.lib")
    #endif

    每次编写代码在前面加入下面的代码,可以不用配置编辑附加依赖项,这里使用的是opencv2.4.10版本。


    #ifdef _DEBUG
    #pragma comment(lib, "opencv_calib3d2410d.lib")
    #pragma comment(lib, "opencv_contrib2410d.lib")
    #pragma comment(lib, "opencv_core2410d.lib")
    #pragma comment(lib, "opencv_features2d2410d.lib")
    #pragma comment(lib, "opencv_flann2410d.lib")
    #pragma comment(lib, "opencv_gpu2410d.lib")
    #pragma comment(lib, "opencv_highgui2410d.lib")
    #pragma comment(lib, "opencv_imgproc2410d.lib")
    #pragma comment(lib, "opencv_legacy2410d.lib")
    #pragma comment(lib, "opencv_ml2410d.lib")
    #pragma comment(lib, "opencv_nonfree2410d.lib")
    #pragma comment(lib, "opencv_objdetect2410d.lib")
    #pragma comment(lib, "opencv_photo2410d.lib")
    #pragma comment(lib, "opencv_stitching2410d.lib")
    #pragma comment(lib, "opencv_ts2410d.lib")
    #pragma comment(lib, "opencv_video2410d.lib")
    #pragma comment(lib, "opencv_videostab2410d.lib")
    #else
    #pragma comment(lib, "opencv_calib3d2410.lib")
    #pragma comment(lib, "opencv_contrib2410.lib")
    #pragma comment(lib, "opencv_core2410.lib")
    #pragma comment(lib, "opencv_features2d2410.lib")
    #pragma comment(lib, "opencv_flann2410.lib")
    #pragma comment(lib, "opencv_gpu2410.lib")
    #pragma comment(lib, "opencv_highgui2410.lib")
    #pragma comment(lib, "opencv_imgproc2410.lib")
    #pragma comment(lib, "opencv_legacy2410.lib")
    #pragma comment(lib, "opencv_ml2410.lib")
    #pragma comment(lib, "opencv_nonfree2410.lib")
    #pragma comment(lib, "opencv_objdetect2410.lib")
    #pragma comment(lib, "opencv_photo2410.lib")
    #pragma comment(lib, "opencv_stitching2410.lib")
    #pragma comment(lib, "opencv_ts2410.lib")
    #pragma comment(lib, "opencv_video2410.lib")
    #pragma comment(lib, "opencv_videostab2410.lib")
    #endif

    参考方案2:

    如果觉得每次添加比较麻烦,可以采用如下一劳永逸的方案:

    新建一个opencv_lib.h文件,编辑内容:

    #ifndef _OPENCV_LIB_
    #define _OPENCV_LIB_

    #ifdef _DEBUG
    #pragma comment(lib, "opencv_calib3d2410d.lib")
    #pragma comment(lib, "opencv_contrib2410d.lib")
    #pragma comment(lib, "opencv_core2410d.lib")
    #pragma comment(lib, "opencv_features2d2410d.lib")
    #pragma comment(lib, "opencv_flann2410d.lib")
    #pragma comment(lib, "opencv_gpu2410d.lib")
    #pragma comment(lib, "opencv_highgui2410d.lib")
    #pragma comment(lib, "opencv_imgproc2410d.lib")
    #pragma comment(lib, "opencv_legacy2410d.lib")
    #pragma comment(lib, "opencv_ml2410d.lib")
    #pragma comment(lib, "opencv_nonfree2410d.lib")
    #pragma comment(lib, "opencv_objdetect2410d.lib")
    #pragma comment(lib, "opencv_photo2410d.lib")
    #pragma comment(lib, "opencv_stitching2410d.lib")
    #pragma comment(lib, "opencv_ts2410d.lib")
    #pragma comment(lib, "opencv_video2410d.lib")
    #pragma comment(lib, "opencv_videostab2410d.lib")
    #else
    #pragma comment(lib, "opencv_calib3d2410.lib")
    #pragma comment(lib, "opencv_contrib2410.lib")
    #pragma comment(lib, "opencv_core2410.lib")
    #pragma comment(lib, "opencv_features2d2410.lib")
    #pragma comment(lib, "opencv_flann2410.lib")
    #pragma comment(lib, "opencv_gpu2410.lib")
    #pragma comment(lib, "opencv_highgui2410.lib")
    #pragma comment(lib, "opencv_imgproc2410.lib")
    #pragma comment(lib, "opencv_legacy2410.lib")
    #pragma comment(lib, "opencv_ml2410.lib")
    #pragma comment(lib, "opencv_nonfree2410.lib")
    #pragma comment(lib, "opencv_objdetect2410.lib")
    #pragma comment(lib, "opencv_photo2410.lib")
    #pragma comment(lib, "opencv_stitching2410.lib")
    #pragma comment(lib, "opencv_ts2410.lib")
    #pragma comment(lib, "opencv_video2410.lib")
    #pragma comment(lib, "opencv_videostab2410.lib")
    #endif

    #endif

    将该文件放入opencv的安装目录:

    C:Adisksoftwareopencvopencv2410opencvuildincludeopencv2opencv_lib.h

    也就是和 #include <opencv2/opencv.hpp>在同一个目录

    之后只需要包含头文件

    #include <opencv2/opencv_lib.h>

    就可以在Debug和Release版本之间任意切换

  • 相关阅读:
    web开发发送短信实现最简单的接口
    2分钟学会ajax 入门ajax必备
    基于注册登陆简单的使用django认证系统
    Django 发送邮件
    关于python开始写项目创建一个虚拟环境
    pycharm使用bootstrap组件方法
    linux安装配置python环境以及虚拟环境和django下载
    luffy项目搭建流程(Django前后端分离项目范本)
    python微信服务号关注授权、消息推送流程
    Celery—分布式的异步任务处理系统
  • 原文地址:https://www.cnblogs.com/adong7639/p/4362547.html
Copyright © 2011-2022 走看看