如何添加静态链接运行时程序集?

时间:2013-03-11 15:06:33

标签: c++ visual-studio assemblies exe static-linking

我正在尝试在没有安装Visual Studio的另一台计算机上运行exe文件。 当我尝试运行该文件时,我收到错误:此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题。

我尝试搜索答案,很多网站都提到静态链接运行时程序集

但我不知道如何将它们添加到我的项目中。

(程序在c ++控制台的visual studio 2008中)

1 个答案:

答案 0 :(得分:2)

很难确切地说出缺少哪些库。以下是一些想法。

  • 您正在部署调试版本。由于非开发计算机通常没有部署调试库(mfc * xxxd.dll& co。),您的应用程序无法启动。您应该部署发行版本。
  • 您的应用程序是使用较新版本的C运行时或MFC构建的,这在目标计算机上不可用。您应该为您的VS /开发工具版本安装Visual C ++可再发行组件包。
  • 如果无法安装,则应将运行时/ MFC库静态链接到应用程序。根据您的VS版本,您需要转到项目设置并检查正确版本的运行时库(静态与动态)

如果仍有问题,你应该在目标机器上使用像Dependency Walker这样的工具确切地检查哪些dll丢失了(实际上这应该是你应该做的第一件事,而不是猜测)。它会告诉你哪些dll丢失了。如果一切似乎都没问题,那么你会错过一些延迟加载或COM dll - 这不会在启动时加载,而是按需加载。您可以使用DependencyWalker来分析应用程序的启动,以确切了解缺少的内容。