在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版本,则需要添加的编译语句将会显得很长。
方式二:编译语句头文件法
方式二是对方式一的改进,即将编译语句放到相应的头文件内:
- 新建opencv341_lib.hpp文件,将如下编译语句放进该头文件内;
- 将该头文件放到自己opencv的安装目录下:C:\Program Files (x86)\OpenCV3.4.1\opencv\build\include\opencv2;
- 以后每次只需将其包含在头文件内即可:#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")
//#