opencv Debug和Release的区别与使用
Release版称为发行版,Debug版称为调试版。
在vs2017上配置opencv的时候,因为附加依赖时会优先考虑写在前面的库。如果先添加了Release库会导致无法使用Debug库编译。所以在配置的时候一般只添加一个库。
但是如果你想Release库和Debug库两种库都想使用,可以使用以下方法。就是把两种文件分开,具体用到哪一个库就配置哪个库。
注意:一般文件夹中的排序是opencv_world330.lib文件排在前面,opencv_world330d.lib文件排在后面。所以如果先配置了Release库就无法使用Debug库编译。
具体方法如下:
1.在链接器常规中的附加库目录中添加lib文件。
我的opencv的lib路径为 D:\opencv\build\x64\vc14\lib
2.在链接器输入选择附加依赖性
opencv中一般会有两种.lib文件:
请参考opencv文件夹lib中的.lib文件,opencv版本不同,.lib文件不同。区别330代表3.3.0版本。
其opencv_world330表示Release库
opencv_world330d表示Debug库
【Release】
如果是选择配置Release库:
首先在D:\opencv\build\x64\vc14\bin中把文件放进一个新建的文件夹中,只留下一种.lib文件(如果是配置Release库就留opencv_world330.lib,配置Debug库就留opencv_world330d.lib)。
同理,在D:\opencv\build\x64\vc14\lib中也只留一种文件。
在Release|x64下的Microsoft.Cpp.x64.user处右键选择属性
在链接器输入选择附加依赖项,填入opencv_world330.lib
选择Release和x64
按调试中的开始执行(不调试):
Release|x64下的运行结果:
[Debug]
如果是选择配置Debug库:
首先在D:\opencv\build\x64\vc14\bin中把文件放进一个新建的文件夹中,只留下一种.lib文件(如果是配置Release库就留opencv_world330.lib,配置Debug库就留opencv_world330d.lib)。
同理,在D:\opencv\build\x64\vc14\lib中也只留一种文件。
在Debug|x64下的Microsoft.Cpp.x64.user处右键选择属性
在链接器输入选择附加依赖项,填入opencv_world330d.lib
选择Debug和x64
按调试中的开始执行(不调试):
Debug|x64下的运行结果:
这样子我们就可以根据需求随时使用两种库来编译了,是不是很方便咧?