【报错】error LNK2038: 检测到“

阅读: 评论:0

【报错】error LNK2038: 检测到“

【报错】error LNK2038: 检测到“

错误描述

在使用vs2017的PCL库时,一直在正常使用Release模式,Release比Debug的速度快很多。在用到PCL可视化点云时,调用vtk模式出现了报错:

vtkCommonColor-8.0-gd.lib(vtkColorSeries.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”
vtkCommonColor-8.0-gd.lib(vtkColorSeries.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MD_DynamicRelease”

原因

值“2”不匹配值“0”,Release使用了Debug下的库文件。
值“0”不匹配值“2”,Debug使用了Release下的库文件。

解决方案

项目->属性->配置属性->链接器->输入->附加依赖项->编辑

检查是否存在误用Debug的库文件。
注意:如果继承了父级中的Debug库文件也会导致报错。(取消勾选“从父级…继承”)

ps.两类库文件简单的辨别方法:后面有加d的是debug库文件,没有加d的是release库文件。
例:opencv_aruco410d.lib(debug)、opencv_aruco410.lib(release)

无效解决方法

在VS2017中,以下方法无效:

VS2010中,Debug模式下默认值为2,Release模式下默认值为0。
在项目->属性->配置属性->C/C+±>预处理器->预处理定义中添加“_ITERATOR_DEBUG_LEVEL=0"或“_ITERATOR_DEBUG_LEVEL=2"。

本文发布于:2024-02-01 02:47:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170672682833323.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报错   检测到   error
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23