[转]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,如需转载请自行联系原作者

目录
相关文章
成功解决FileNotFoundError: [WinError 2] 系统找不到指定的文件
成功解决FileNotFoundError: [WinError 2] 系统找不到指定的文件。
成功解决FileNotFoundError: [WinError 2] 系统找不到指定的文件
fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
175 0
|
程序员 C++ 编译器
error LNK2005 已经在***.obj中定义 的解决办法
为什么会出现这个错误??“error LNK2005: 已经在aaa.obj中定义” 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。
3775 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。
1014 0
|
C++ Windows
VS2010 调试C++项目 fatal error LNK1123 错误解决办法
最近用VS2010写C++项目,奇怪的是每次生成解决方案都有一个fatal error LNK1123错误,提示生成失败。查阅资料总结解决方案如下:   (1)项目——>属性——>连接器——>清单文件   中生成清单 “是” 修改为 “否”      该方法一般都可以解决问题,但是每次创建项目都要设置一遍。
1080 0
|
C++
warning LNK4006 和 warning LNK4221 警告解决
 不一定适合所有情况。  查阅MSDN,其中对LNK4006的描述如下:  "尝试将两个导入库合并为一个库时会得到此警告。"  "如果您正在重新生成 C 运行库,则可以忽略此消息。"  链接如下:  http://msdn.microsoft.com/zh-cn/library/1zzf962b.aspx  当前场景:  项目中有几个工程:  libCommo
1769 0