使用 MVS2012 构建的程序“缺少 MSVCR120D.dll”

使用 MVS2012 构建的程序“缺少 MSVCR120D.dll”

我开始使用 Visual Studio Express 2012 而不是 Code::Blocks 进行编程,后者更加美观,但现在我遇到了一个大问题:我的目标是发布一个免费的开源项目,其中包含大量可从其他人那里下载的教育/有趣程序,但当他们这样做时,系统提示缺少“MSVCR120D.dll”,因此他们无法打开任何东西!完全相同的项目已在 Code::Blocks 上编译,并且一切运行正常,但现在使用 Visual Studio 却无法运行!

我的问题是:我怎样才能简单地编译我的代码(只有一个.c 或.cpp 文件)以便其他人可以毫无问题地运行它?

答案1

如果缺少MSVCR*D.dll,则为调试版本。调试运行时不是可再发行包的一部分。只需构建发布版本即可。

哦,顺便说一下:数字 120 表示 Visual C++ 2013,而不是 2012。

答案2

您可以使用 /MT 编译标志通过静态运行时构建应用程序。这将消除运行编译后的二进制文件时安装运行时的要求。

有关编译器标志的更多信息:https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx

相关内容