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

Sha*_*air 5 c++ redistributable package visual-studio-2010 msvcr100.dll

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

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

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

fox*_*oxy 14

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

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


Fra*_*yne 7

简短的回答是肯定的,答案越长,答案就越长.

该库msvcr100.dllC运行时DLL实现10.0版本(即Visual Studio 2010版本),您可能使用/ MD编译选项请求该版本.要避免使用动态链接版本的运行时,可以使用/ MT选项,并静态链接运行时.

或者,您可以将msvcr100.dll(和其他文件)与程序一起重新分发.