VS中OpenCV的Debug/Release版本附加依赖项相互关联问题的解决方法

在Visual Studio(VS)中配置OpenCV时,通过附加依赖项设置Debug和Release模式的.lib文件可能导致两者相互关联。本文介绍了三种解决方法:编译语句法、编译语句头文件法和添加库文件法,以实现快速切换并避免相互影响。编译语句法适用于.lib文件较少的情况,而编译语句头文件法和添加库文件法适合.lib文件较多的情况,简化了切换过程。
摘要由CSDN通过智能技术生成

在VS中进行OpenCV编译环境配置时,常采取在"项目属性"–>“链接器”–>“输入”–>“附加依赖项”,输入Debug或Release模式对应的.lib文件的方式,如Debug模式下输入opencv_world314d.lib。但这种方法会导致Debug、Release模式的附加依赖项发生相互关联,即修改其中一个,另一个也会跟着改变,这就使得Debug和Release模式的切换不那么友好。

为了解决上述问题,实现Debug/Release模式间的快速切换,常用的方法有如下几种:

方式一:编译语句法

在程序前面添加如下语句:

#ifdef _DEBUG
#pragma comment(lib,"opencv_world341d.lib")
#else
#pragma comment(lib,"opencv_world341.lib")
#endif
  • 使用场合:.lib文件较少、编译语句较短时;
  • 优缺点:操作简单,可单独添加自己用到的.lib文件;但每次都需要在程序前面添加相应代码,若需要使用的.lib文件较多,如opencv2.x版本,则需要添加的编译语句将会显得很长。

方式二:编译语句头文件法

方式二是对方式一的改进,即将编译语句放到相应的头文件内:

  1. 新建opencv341_lib.hpp文件,将如下编译语句放进该头文件内;
  2. 将该头文件放到自己opencv的安装目录下:C:\Program Files (x86)\OpenCV3.4.1\opencv\build\include\opencv2;
  3. 以后每次只需将其包含在头文件内即可:#include <opencv2/opencv_lib.hpp>。
#pragma once

#ifdef _DEBUG
#pragma comment(lib,"opencv_world341d.lib")

//#pragma comment(lib, "opencv_aruco341d.lib") // Debug
//#pragma comment(lib, "opencv_bgsegm341d.lib")
//#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值