登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: vs2008 __imp___CrtDbgReportW 错误的解决     [回主站]     [分站链接]
标题
vs2008 __imp___CrtDbgReportW 错误的解决
clq
浏览(1) + 2010-04-05 12:30:09 发表 编辑

关键字:

vs2008 __imp___CrtDbgReportW 错误的解决


经常在链接是报link2001错误,其中一般是函数体没有定义错误。但是排除以上简单的外,还有一种如下无法解析系统文件中的函 数定义。如下:

LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
libcpmtd.lib(cerr.obj) : error LNK2001: 无法解析的外部符号 __CrtDbgReportW
libcpmtd.lib(stdthrow.obj) : error LNK2001: 无法解析的外部符号 __CrtDbgReportW
。。。。。。
libcpmtd.lib(_tolower.obj) : error LNK2019: 无法解析的外部符号 __calloc_dbg,该符号在函数 __Getctype 中被引用

像这种情 况,可以推测运用了错误的运行库包。

在一程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此链接错误。

例 如,编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),试图链接它们,则将得到此警告。应 将所有源文件编译为使用同一运行时库。

其实就是调正编译器选项参数:/MD、/MT   和   /LD

在vc8中,在 “配置属性-->C/C++-->代码生成-->运行时库”中将“多线程(/MT)”统一改为“多线程调试(/MTd)”即可。

clq
2010-4-5 12:35:18 发表 编辑

不过 /MTD 可能会造成  [“/MTd”和“/clr”命令行选项不兼容] 错误.

clq
2010-4-5 13:01:44 发表 编辑

最后在 /clr 支持环境下要用
"多线程调试 DLL (/MDd)"

连接才行,感觉是它对线程库正确性要求非常严格.


clq
2010-4-5 13:03:00 发表 编辑

不作上面的操作就会有以下错误:

MSVCMRT.lib 元数据操作失败

LNK2022


总数:3 页次:1/1 首页 尾页  
总数:3 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1