【发布时间】:2013-05-07 05:50:21
【问题描述】:
关于这个问题有很多问题,但我很难找到适合我的答案。我有具体的错误信息:
gurobi_c++mdd2010.lib(Env.2010.omdd) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in DataHelper.obj
在 Visual Studio 2010 中,在 x64 版本中。 Gurobi 库是第 3 方软件,DataHelper 是我的班级。
在 DataHelper 中设置 _ITERATOR_DEBUG_LEVEL=0 并不能解决问题,而且我似乎没有链接到我的文件中的“调试”.lib 或 .dll。 _SECURE_SCL 未在我的文件中设置。
我尝试在预处理器定义中设置_ITERATOR_DEBUG_LEVEL=2,我得到:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.h(113): fatal error C1189: #error : _ITERATOR_DEBUG_LEVEL > 1 is not supported in release mode.
任何人都可以确认问题是在我这边还是在第 3 方,如果是第 3 方库,可以提出任何解决方法吗?
谢谢 梅兰妮
【问题讨论】:
-
碰巧,您是在发布级别构建一个 _SECURE_SCL=1 吗? (也看看这里:stackoverflow.com/questions/4080668/…)
-
@Najzero:我刚查过,搜索找不到。
-
如果在DataHelper中设置
_ITERATOR_DEBUG_LEVEL=2会怎样? -
@RogerRowland - 不同的错误:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.h(113): 致命错误 C1189: #error : _ITERATOR_DEBUG_LEVEL > 1 是发布模式不支持。
-
@Melanie 那么您是否有可能将调试库链接到您的发布项目中?
标签: c++ visual-studio-2010 linker