最近做项目需要同时使用OpenCv的静态库和Zlib的静态库,然而等我在VS2013下配置好两个库,并编译代码时,编译器确报错了,如下
“error LNK2005: _deflate_copyright 已经在 zlibstat.lib(deflate.obj) 中定义”
分析原因:发现是OpenCv自带的有Zlib库和原生的Zlib静态库起冲突了
解决方案:查阅了很多资料,大都是qt自带的zlib库和opencv自带的zlib库报错的情况,我这种情况比较少见。花了很多功夫最后找到个方法,那就是在通过配置项目让其强制链接。
msdn解释:https://msdn.microsoft.com/en-us/library/70abkas3.aspx
项目配置如图:
当然,这么做有时候会导致程序出问题。
总结:虽然解决方案及其简单,但是也是我查了很多资料才找到的,特此记录下