在使用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小时内删除。
留言与评论(共有 0 条评论) |