在另一台计算机上运行.exe文件时"Missing MSCVP140.dll"和"Missing VCRUNTIME140.dll"
"Missing MSCVP140.dll" and "Missing VCRUNTIME140.dll" when running an .exe-File on another computer
我在Microsoft Visual Studio C++中制作了一个程序,并为此使用了SFML。我包含了程序所需的正确.dll文件,并将它们复制到"发布"文件夹中。它奏效了。整个程序在我的电脑上运行得很完美,但当我试图在另一台电脑上运行时,它说:Missing "MSVCP140.dll"
和Missing "VCRUNTIME140.dll
。
我搜索了这个程序的解决方案,总是听到"转到项目>项目设置>C/C++>代码生成>运行库>切换到多线程(/MT)。我用这个设置编译了这个项目,可执行文件的大小增加了,他们说这很正常,因为不再支持.dll文件了。
但当我用新的.exe再次尝试时,它给了我完全相同的错误消息。如果不在计算机上安装一些.dll文件,还有其他可能解决这个问题吗?
MSDN上对此进行了详细介绍。请参阅Visual C++中的部署
你真的有三个选择:
-
使用DLL的"集中式"版本。为此,您应该有一个运行VS 2015的
VCREDIST_*.EXE
包的安装程序,或者如果使用基于MSI的安装,您可以使用提供的MSM文件。 -
将所需的DLL作为程序的一部分进行复制。这意味着你的安装程序或zip文件或任何有EXE的文件也包括它需要的DLL。如果您想要"复制并运行"式部署,这是最好的选择,但请记住,DLL的所有安全服务现在都是您的问题。
-
使用静态链接。从安全角度来看,这是最不需要的解决方案,实际上只应用于编写安装程序的特定情况,即安装应用程序的程序必须首先运行。
您尚未指定在目标计算机上运行的Windows版本。VS 2015不支持Windows 7 RTM,因为它不支持,但它支持Windows 7 Service Pack 1以及Windows Vista Service Pack 2、Windows 8.x和Windows 10。
当我们讨论这个主题时,Windows 8.0也不支持。这些用户需要升级到Windows 8.1更新或Windows 10。
- Qt5PrintSupportd.dll is missing
- 使用 dev-c++ 运行我的 GIS 应用程序可以"gdal201.dll is missing"
- cudart64_80.dll is missing
- MSVCP120d.dll missing
- Mingw libgcc_s_sjlj-1.dll is missing
- Visual Studio 2010: dll missing
- 在另一台计算机上运行.exe文件时"Missing MSCVP140.dll"和"Missing VCRUNTIME140.dll"
- Missing MSVCR90D.dll
- SDL2.DLL missing
- Xalan DLL missing
- C++ FLTK 1.30 MSVCR120.dll Missing
- freeglut.dll missing
- MSVCP110.dll is missing
- VCOMP100.dll missing?
- MSVCP140.dll missing
- Qt5Widgets.dll is missing?
- MSVCP100D.dll missing
- 使用VS2015 Express,删除VS2013社区,无法运行"MSVCP120d.dll missing"
- MSVCP100D.DLL is missing (SFML)
- VS2012 MSVCR120D.dll is missing