visual C++ 6.0 问题:链接:致命错误LNK1104:无法打开文件“调试/ d.exe“ 执行link.exe时出错。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了visual C++ 6.0 问题:链接:致命错误LNK1104:无法打开文件“调试/ d.exe“ 执行link.exe时出错。相关的知识,希望对你有一定的参考价值。

参考技术A 确认磁盘空间是不是满;
确认d.exe是不是正在使用,如果上一次调试后,运行没有退出,此文件就会被锁定,无法再删除和写入,可以使用任务管理器,查一下,把它杀掉就好了。

如何在Visual Studio中增加错误限制?

构建应用程序时。 VS会抱怨超出错误数:

fatal error C1003: error count exceeds 100; stopping compilation

有没有办法增加限额?

提前致谢, - Oleksii Skidan

答案

这种限制是硬编码的。以下是2006年microsoft.public.vsnet.general组的MSFT员工的帖子(寻找'致命错误C1003'):

嗨,

不幸的是,这100限制是硬编码的,不能改变。保留所有错误信息是非常不切实际的,因为一个错误可能会导致其他几个错误。

我希望您了解我们的产品团队在设计背后的理性。但是,如果您对此仍有疑虑,请随时提交您的反馈 http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220由我们的产品团队监控。谢谢你的理解。

此致,Walter Wang(哇... @ online.microsoft.com,删除'在线'。)Microsoft在线社区支持“

另一答案

我不这么认为。 VS基本上报告在编译期间遇到的所有错误。代码中可能存在一些错误的部分,这些部分会使编译器陷入无限的“错误”循环中。

实施限制是为了避免这种情况。在大多数情况下,您获得的100个错误就是一遍又一遍地报告的相同错误。增加重复次数会有什么意义?

也许你可以先发布错误发生的代码片段,这样我们就可以帮你修复它了。

另一答案

我认为这是一个硬编码限制,所以没有。

正如其他人所评论的那样,很难理解你想要实现的目标。

在一天结束时,你将不得不修复它们,所以陷入困境并开始修复它们。最终,你将低于100,你可以开始计算它们。

发生这种情况时,报告实际错误数通常并不重要。大多数情况下,当你得到C1003时,它实际上只是一些真正的错误,导致一系列其他错误。

(EG)

  • 如果.h文件中存在错误,则会在#includes的每个.cpp文件中报告该错误。
  • 如果存在阻止定义任何类型标识符的错误(例如,类,变量,方法名称),则每次尝试稍后使用它时,都会报告错误。
另一答案

减少报告错误数量的解决方法:

  • 将cl.exe重命名为cl-orig.exe
  • 滚动你自己的cl.exe,启动cl-orig.exe,捕获它的stdout / stderr
  • 解析stderr,查找错误消息并计算它们
  • 在前n个错误后中断

有关提示,请参阅http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx

另一答案

我还有一个这样的项目:有时Visual Studio决定要做很多事情,发出100条关于解决方案其他部分的无关紧要的消息并中止构建因为它达到了消息限制而没有处理我感兴趣的项目。

我们找到的解决方法是使用msbuild从命令提示符构建解决方案:Use MSBuild演练概述了这些步骤。 msbuild将所有消息输出到控制台,一旦构建完成,我们就可以在Visual Studio中再次工作和调试。不理想,但它让我们完成手头的任务。

以上是关于visual C++ 6.0 问题:链接:致命错误LNK1104:无法打开文件“调试/ d.exe“ 执行link.exe时出错。的主要内容,如果未能解决你的问题,请参考以下文章

使用 Microsoft Visual C++ 6.0 解决 __imp__open 和其他类似名称的函数的链接错误

MongoDB 和 Visual C++ 2008 链接器错误

visual c++ 6.0编译时总有一个错误是怎么回事?

指针对象在 Visual C++ 6.0 中创建 windows 错误

Visual Studio 2010 - 致命错误 LNK1120: 1 unresolved externals; C++

Visual C++ 2010 - 致命错误 LNK1169:找到一个或多个多重定义符号