标题
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
不过 /MTD 可能会造成 [“/MTd”和“/clr”命令行选项不兼容] 错误.
clq
最后在 /clr 支持环境下要用
"多线程调试 DLL (/MDd)"
连接才行,感觉是它对线程库正确性要求非常严格.
clq
不作上面的操作就会有以下错误:
MSVCMRT.lib 元数据操作失败
LNK2022
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.