我正在尝试使用 vs2012 Express 编译发布可执行文件。但是,每当我尝试在其他计算机上运行 .exe 时,都会收到一条警告,提示我需要 msvcr110.dll。我可以简单地复制 dll,但我正在寻找更长期的解决方案。
在我尝试隔离导致错误的原因时,我已使用默认设置恢复到新的 c++ 项目,除了将配置更改为在配置管理器中发布。
一个多星期以来,我一直在尝试自己解决这个问题,但没有任何进展,所以任何建议都将不胜感激。
我正在尝试使用 vs2012 Express 编译发布可执行文件。但是,每当我尝试在其他计算机上运行 .exe 时,都会收到一条警告,提示我需要 msvcr110.dll。我可以简单地复制 dll,但我正在寻找更长期的解决方案。
在我尝试隔离导致错误的原因时,我已使用默认设置恢复到新的 c++ 项目,除了将配置更改为在配置管理器中发布。
一个多星期以来,我一直在尝试自己解决这个问题,但没有任何进展,所以任何建议都将不胜感激。
静态链接到 CRT。选择“多线程”,而不是项目属性中运行时库下拉列表中的 DLL 选项。
在您的项目属性中选择选项 Configuration Properties/C/C++/Code Generation/Runtime Library 并选择选项“多线程 (/MT)”(或“多线程调试 (/MTd)”用于您的调试配置)。
对于动态链接的应用程序,Visual Studio 2012 的 Visual C++ Redistributable必须安装在目标计算机中。请务必选择与您的应用程序相匹配的架构。
静态链接显然也可以,但我倾向于将其归类为一种解决方法。