【问题标题】:Debug version of vc++ project compains of missing msvcr80d.dllvc++项目调试版缺少msvcr80d.dll
【发布时间】:2011-04-05 11:49:16
【问题描述】:

我有一个本地 c++ 程序 exe,它成功构建并在发布版本中成功运行。但是,当我尝试运行调试 exe 时,它​​会抛出异常“此应用程序无法启动,因为未找到 MSVCP80D.dll。重新安装应用程序可能会解决问题,

【问题讨论】:

  • 为什么要运行调试版本?发行版工作正常。您不应该部署调试版本。您的开发机器已经安装了必要的调试 DLL。
  • 这不适用于部署。但我想在我的开发人员系统上调试应用程序,由于这个问题,我无法调试。我确实安装了 VS2005 并为 2005 年安装了相应的 vc++ 可再发行版。我应该安装什么可分发的东西进行调试?
  • 这没有任何意义。如果您安装了 VS 2005 和所有 C++ 开发工具,那么您绝对应该拥有所有必要的调试库。您的安装中有一些损坏。我建议重新安装 VS 和/或 Windows SDK。
  • 是的..我同意..奇怪的是,我在其他开发系统中也看到了这个问题......

标签: visual-c++


【解决方案1】:

如果您需要在未安装 Visual Studio 的 PC 上运行调试版本,请尝试静态链接运行时库。

http://msdn.microsoft.com/en-us/library/abx4dbyh(v=VS.100).aspx

【讨论】:

  • 这不是解决方案。一般来说,静态链接并不是一个好主意,如果你可以编译一个静态链接的应用程序,那么你的机器上肯定有必要的 DLL。这个建议就像告诉某人在他们的计算机开始运行缓慢时购买一台新计算机一样好。
  • 我通常不推荐静态链接或部署调试版本。不过,有时在没有 Visual Studio 的测试系统上运行调试版本很有用,这是我对这个问题的解释。同意上面后面的cmets,如果这个问题出现在Visual Studio机器上,那就是另外的配置问题了。
  • 是的,问题出在开发者系统上的 Vistual Studio 机器上,这是因为调试配置属性不正确。
【解决方案2】:

那是因为您在该机器上没有 C/C++ 运行时的 DEBUG 版本,只有 RELEASE 构建。调试版本仅用于开发和调试。你不应该安装/分发它们,只应该发布版本。您应该使用 VC++ 运行时安装适当的可再发行组件。

【讨论】:

  • 您好,感谢您的回答。这不适用于部署。但我想在我的开发人员系统上调试应用程序,由于这个问题,我无法调试。我确实安装了 VS2005 并为 2005 年安装了相应的 vc++ 可再发行版。我应该安装什么可分发的东西进行调试?
  • 不,没有,但您可以从 VC++ 安装文件夹中手动复制它们。您可以使用dependency.exe (www.dependencywalker.com) 来检查您的应用需要哪些DLL
猜你喜欢
  • 1970-01-01
  • 2013-07-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多