错误LNK2038:检测到'_ITERATOR_DEBUG_LEVEL'不匹配 [英] error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL'

查看:173
本文介绍了错误LNK2038:检测到'_ITERATOR_DEBUG_LEVEL'不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨伙计:

  在Win 10 Pro,VS 2015社区开发,所有C ++。 

   Developing on Win 10 Pro, VS 2015 Community, all C++. 

  在大型应用程序上进行调试会话后,我尝试为我的客户端进行发布版本试用。 它挂在链接阶段,只是从未返回。 我重新构建它运行VS作为管理员,但它找不到我的任何头文件。 
我不知道为什么那些不在应用程序的属性中。 

   After a debugging session on a large application I tried to do a release build for my client to try.  It hung on the link phase and just never returned.  I re-built it running VS as admin but it couldn't find any of my header files.  I don't know why those wouldn't be in the app's properties. 

  所以我关闭并重新启动我的电脑,并在我通常的非管理员帐户下尝试了另一个版本。 

   So I shut down and re-started my PC and tried another release build under my usual, non-admin account. 

  编译顺利,但链接再次失败,这次出现以下错误和警告:

   The compile went fine, but the link failed again, this time with the following errors and warnings:

time_utilities.lib(time_utilities.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in <app name>.obj

错误LNK2038:检测到'RuntimeLibrary'不匹配:值'MDd_DynamicDebug'与< app name> .obj

error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in <app name>.obj

中的值'MD_DynamicRelease'不匹配警告LNK4075:由于'/ OPT:ICF'规范而忽略'/ EDITANDCONTINUE'

warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification

MSVCRT.lib(initializers.obj):警告LNK4098:defaultlib'msvcrtd.lib'与使用其他库冲突; use / NODEFAULTLIB:library

MSVCRT.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrtd.lib' conflicts with use of other libs; use /NODEFAULTLIB:library

错误LNK2001:未解析的外部符号__imp ___ invalid_parameter

error LNK2001: unresolved external symbol __imp___invalid_parameter

错误LNK2001:未解析的外部符号__imp ___ CrtDbgReportW

error LNK2001: unresolved external symbol __imp___CrtDbgReportW

&NBSP;&NBSP;我已经去了我的time_utilities库,并将其重新构建为一个版本。 完整版本继续失败并出现同样的问题。 

   I've gone to my time_utilities library and re-built that as a release.  The full build continues to fail with the same issue. 

  我刚刚在调试模式下进行了重建而没有任何问题。

   I just did a rebuild in debug mode without a problem.

  建议?

   Suggestions?

     谢谢你
     拉里

      Thanks
      Larry

推荐答案

无论发布配置选择如何,似乎仍然引用了CRT的调试版本。 我建议对于所有Release构建配置,检查它们的编译器选项设置,以确保它们实际上是
指定CRT的版本而不是调试版本。
Regardless of the Release configuration selection it appears that the debug version of the CRT is still referenced.  I suggest that for all of the Release build configurations that you check their compiler option settings to ensure that they actually specify the release, not debug, versions of the CRT.


这篇关于错误LNK2038:检测到'_ITERATOR_DEBUG_LEVEL'不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆