[转]error LNK2001: __imp___CrtDbgReportW 错误改正

简介:

查看 

项目“配置属性-->C/C++-->预处理器-->预处理定义”里面,定义了 _DEBUG

 

原文地址:

http://blog.csdn.net/jean7155/article/details/6924806

 

今天从一个大项目里分出一个功能模块,编写成DLL文件,利用调用管理等等。反正是分出来一个DLL。

所以,文件里面的代码全都是在大的项目中编译运行通过的。

但是,经过调试添加各个lib,include,等等各种。

编译后总有错误关键字如下:

error LNK2001:  __imp___CrtDbgReportW

 

google了一下,很多人有这个错误差不多都是一个解决办法。

  1. 像这种情况,可以推测运用了错误的运行库包。  
  2.   
  3. 在一程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此链接错误。  
  4.   
  5. 例如,编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),试图链接它们,则将得到此警告。应将所有源文件编译为使用同一运行时库。  
  6.   
  7. 其实就是调正编译器选项参数:/MD、/MT   和   /LD  
  8.   
  9. 在vc8中,在“配置属性-->C/C++-->代码生成-->运行时库”中将“多线程(/MT)”统一改为“多线程调试(/MTd)”即可。  

 

这样是编译运行通过了。但是,这样就软件就没法发布了。

接着google看看国外的。

http://www.adras.com/imp-CrtDbgReportW.t1092-118.html

上面连接里面,

  1. Its MSVC's own debugging 'breakpoint' feature which pops up the formatted   
  2. dialog box containing the error, line etc, W for unicode, hence it will be   
  3. included for practically everything you do in debug.  
  4.   
  5. Check your DLL versions, changing the Debug DLL settings to something else,   
  6. then change back - failing that, try importing your entire project into a   
  7. new VS8 project.  


其中,重点是这句:

  1. Check your DLL versions, changing the Debug DLL settings to something else,   
  2. then change back   

 

仔细检查项目属性。然后我发现我这个白痴,出了一个弱智错误!

在“配置属性-->C/C++-->预处理器-->预处理定义”里面,定义了 _DEBUG


这个是DEBUG的属性页设置,我当时都是直接拷贝到release里面,再修改的。这个忘记修改了。。。

记录一下吧。找了很久。。。

 


本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2012/11/26/2789283.html,如需转载请自行联系原作者

目录
相关文章
|
开发工具 Windows
关于 fatal error LNK1158: 无法运行“rc.exe” 的解决方法
关于 fatal error LNK1158: 无法运行“rc.exe” 的解决方法
关于 fatal error LNK1158: 无法运行“rc.exe” 的解决方法
fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
176 0
|
程序员 C++ 编译器
error LNK2005 已经在***.obj中定义 的解决办法
为什么会出现这个错误??“error LNK2005: 已经在aaa.obj中定义” 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。
3811 0
|
C++
VS错误的解决办法:error LNK2019: 无法解析的外部符号
VS错误的解决办法:error LNK2019: 无法解析的外部符号
585 0
|
C++ 编译器 Windows
vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 问题说明:当安装VS2012之后,原来的.NET 4.0会被替换为.NET 4.5。卸载VS2012时,不会恢复.NET 4.0。
1017 0
|
Oracle 关系型数据库 Linux
EXP-00091错误的说明和解决方法
今天我写了一个在Linux下执行定时任务备份Oracle数据库的脚本,但是在root用户下执行脚本的时候报错了,错误内容为EXP-00091,下面附上解决方案(当然,下面的内容是我转载的哦!): 对于一个经常用oracle的人来讲,会经常用到EXP和imp工具,我们在做EXP的过程中可能经常会遇到EXP-00091 Exporting questionable statistics的错误。
842 0
error LNK2019: 无法解析的外部符号 __imp__accept@12
VS2010编码winsock程序,出现下面错误: 原因分析: 需要添加下面一句,意思是编译时需要静态添加一个lib文件 #pragma comment(lib,"ws2_32.
1838 0