【OpenCV配置之二】VS2013:LNK2038 RuntimeLibrary不匹配问题(Release Debug混合错误)

在配置OpenCV和Boost1.61环境后,作者遇到了LNK2038错误。该错误涉及Release和Debug版本的不匹配。尝试修改项目属性中的运行库设置未解决问题,最终发现是由于混合使用了Release和Debug的DLL。解决方案是为Win32应用程序创建单独的Debug和Release配置,并针对每个配置独立配置OpenCV。经过这样的配置,项目成功运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近为了运行从github上下载的背景算法提取代码,我为我的Visual Studio配置了OpenCV和Boost1.61的环境。
OpenCV大家都很熟悉,Boost库是由Boost社区开发支持的可面向C++的标准程序库,其中也包括graph这种具有工业强度的库供广大程序员使用。
我在参考了网上配置的OpenCV教程,采用2.4.10版本,配置之后出现了
LNK2038的错误:mismatch detected for ‘_ITERATOR_DEBUG_LEVEL’: value ‘0’ doesn’t match value ‘2’ in xxx.obj
大概就是编译中不匹配的问题,经网上搜索提示是VS2013中Release和Debug两个版本代码生成的问题,然后解决方案参考如下:
项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库

都设置一样就行了 多线程调试(/MTd),具体是MT MD MTd MDd的修改还是参考你报错的信息。具体说明参考如下:
http://blog.youkuaiyun.com/xiaowei_cqu/article/details/7586449
https://msdn.microsoft.com/en-us/library/2kzt1wy3(VS.80).aspx

但是按照以上修改之后,LNK2038的问题依然没有解决,还报一些找不到头文件和其他库文件的错误,于是我察觉到是OpenCV配置的时候没有考虑编译版本和平台。
这里如果你也遇到和我一样的问题,可以参考一下。

在配置OpenCV方面
百度有很多类似的配置方案,具体就不详细说了,可参考这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值