应用程序无法启动,因为找不到MSVCP100D.dll,重新安装应用程序可能会工作

Mar*_*o29 12 c++ visual-studio-2010 visual-studio

我在谷歌上搜索并意识到可能有几个原因,所以我将描述我的情景.

当我的应用程序尝试加载在另一个版本的Visual Studio(2010)中构建的.dll文件时,会发生这种情况,如果我在Visual Studio 2008上构建相同的项目,则DLL文件加载得很好......

我不知道它是否重要,但Visual Studio 2010 DLL文件版本是在Windows 7 x32上构建的,而Windows Vista 64位则是在Visual Studio 2008的另一端.

Dav*_*nan 12

如果动态链接到MSVC运行时,则需要在将运行应用程序的每台计算机上安装该运行时.

请注意,在这种情况下,您似乎链接到运行时的调试版本,分发与运行时的调试版本链接的应用程序是不正常的.

  • @ Marko29 @Rup说,正如我在回答中所说,你需要在目标机器上安装MSVC版本10运行时.您可以从网上下载(http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displaylang=en),或从您的VS DVD中获取. (2认同)

oob*_*oob 7

如果您不想分发运行时,则可以将Visual Studio中的运行时库选项(属性 - > C/C++ - >代码生成 - >运行时库)从/ MD切换到/ MT或从/ MDd切换到/ MTd .

正如其他人所说,如果您要分发此应用程序,则应该动态或静态地链接到Runtime库的Release版本,而不是Debug版本.