C ++可执行文件 - 找不到MSVCR100.dll错误

时间:2011-08-08 01:11:28

标签: c++ visual-studio-2010 package redistributable msvcr100.dll

我已经下载并编译了一个开源C ++应用程序Frhed

当我运行我编译的版本时,它需要MSVCR100和其他一些dll文件(Visual C ++可再发行组件的一部分)。但是,当我运行原始预编译的Frhed可执行文件时,它运行时没有安装任何C ++可再发行组件包。

我是否必须修改任何编译选项才能取消程序与C ++可再发行库的链接?

2 个答案:

答案 0 :(得分:14)

原始程序可能是静态链接,而您尝试动态链接可执行文件,这会导致文件较小,但依赖于MSVCR100.dll内的函数(v10) Microsoft C运行时库),如果您是静态链接,它将包含在可执行文件中。

要静态链接DLL,请转到项目属性并将构建模式从MD更改为MT。在Visual Studio 2010/2012中,该项目属性为C / C ++ - >代码生成 - >运行时库。

答案 1 :(得分:7)

简短的回答是,答案越长,答案就越长。

msvcr100.dll是您可能使用/ MD编译选项请求的DLL implementation of the C run-time 10.0 版本(即Visual Studio 2010版本)。要避免使用动态链接版本的运行时,可以使用/ MT选项,并静态链接运行时。

或者,您可以redistribute msvcr100.dll (and other files)和您的计划一起使用。