在没有VS11 Beta的计算机上运行在VS11 Beta上开发的应用程序

时间:2012-06-02 12:01:41

标签: c++ visual-studio visual-c++ visual-studio-2012 visual-c++-2012

我使用Visual Studio 11 Beta开发了一款应用。 该应用程序无法在未安装VS 11 Beta的计算机上运行...

我已经安装了.NET Framework 4.5,但它没有帮助......

有没有人对我应该在文件中安装或添加的内容有任何建议,以便在没有VS11的任何计算机上运行它?

1 个答案:

答案 0 :(得分:1)

使用Visual Studio创建新的C ++应用程序时创建新项目时,此项目已为发布配置 / MD 设置了{strong> / MD 的Runtime Library选项或 / MDd 默认为Debug。 “使用此选项编译的应用程序静态链接到MSVCRT.lib。此库提供了一层代码,允许链接器解析外部引用。实际工作代码包含在MSVCR中 *。 DLL,必须在运行时可用于与MSVCRT.lib链接的应用程序。“

您需要做的是转到项目设置,配置属性 - > C / C ++ - >代码生成并将运行时库更改为多线程(/ MT)以进行发布/ 多线程调试(/ MTd)用于调试。这将导致运行时库静态链接,并且您的应用程序不会尝试在运行时加载该DLL。

检查运行时依赖关系的好方法是使用 Dependency Walker
您构建应用程序并将应用程序(.exe)拖放到其中,它将显示其依赖项,您可能会立即看到 MSVCR110.DLL 。当您将运行时库的使用更改为/ MT时,重建您的应用程序并检查此依赖关系是否真的消失了:)