没有找到MSVCP140.dll
最近在做个VC的项目,要求能兼容XP系统,于是为了试试能否在XP 上运行程序,用VS2022写了个hello world的程序,将程序拷到虚拟机中运行,发现报错:没有找到MSVCP140.dll
MSVCP140.dll文件是一个非常重要的Windows系统文件,是 Microsoft Visual C++ 2015 Redistributable Package 中的一个动态链接库文件,它是C++编写的应用程序的运行库之一。如果缺少这个文件,就会导致应用程序无法正常运行。
解决这个问题,从微软官网下载Microsoft Visual C++ 2015 Redistributable ,重新安装便不会报这个错了。
Visual C++ Redistributable
这里再介绍一下Microsoft Visual C++ Redistributable
Microsoft Visual C++ Redistributable是一款安装 Visual C++ 库的运行组件,Microsoft Visual C++ 是运行使用 Visual Studio 开发的 C++ 应用程序时所必需的,并与 Visual C+ 库动态链接,
Visual C++不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE);
Visual C++由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具, 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境;
如果实在不理解,对于熟悉Java的同学,可以把它类比为JRE,就是一套运行环境,你要运行VS开发的软件,就需要依赖这些环境。不同VS版本,它的库页会有各种不同的更新,所以若要在XP上运行VC++程序,首先要确保XP系统上集成了相应的环境。
本人用的是VS2022写的一个hello world程序,放在XP上运行,发现不是缺这个库就是缺那个库,后来从微软官网下载Microsoft Visual C++ 2017 Redistributable(X86),想着给它放XP上装上就好了,放里面一试,欸,不好意思,它不支持XP系统,至少都得是Win7系统。所以这里也给各位提个醒,要是开发win 桌面程序,先想好要适配哪些设备,使用哪个版本开发环境比较合适。
提示:不同VS版本会有针对性的不同安装组件,可以上微软官网搜索。
Microsoft Visual C++ Redistributable各版本
这里奉上部分版本和链接
Microsoft Visual C++ Redistributable 2019
x86: https://aka.ms/vs/16/release/VC_redist.x86.exe
x64: https://aka.ms/vs/16/release/VC_redist.x64.exe
Microsoft Visual C++ Redistributable 2017
x86: https://go.microsoft.com/fwlink/?LinkId=746571
x64: https://go.microsoft.com/fwlink/?LinkId=746572
Microsoft Visual C++ Redistributable 2015
x86+x64: https://www.microsoft.com/en-us/download/details.aspx?id=48145
x86+x64 (update3): https://www.microsoft.com/en-us/download/details.aspx?id=53587
Microsoft Visual C++ Redistributable 2013
x86+x64: https://support.microsoft.com/en-us/help/4032938/update-for-visual-c-2013-redistributable-package
Microsoft Visual C++ Redistributable 2012
x86+x64: https://www.microsoft.com/en-us/download/details.aspx?id=30679
Microsoft Visual C++ Redistributable 2010
x86: https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe
x64: https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe
x86-sp1-MFC-sec-update: https://www.microsoft.com/en-us/download/details.aspx?id=26999
Microsoft Visual C++ Redistributable 2008
x86+x64: https://www.microsoft.com/en-us/download/details.aspx?id=11895
x86+x64-MFC-update: https://www.microsoft.com/en-us/download/details.aspx?id=26368
Microsoft Visual C++ Redistributable 2005
ATL: https://www.microsoft.com/en-us/download/details.aspx?id=14431
MFC: https://www.microsoft.com/en-us/download/confirmation.aspx?id=26347
解决XP不能运行VS2022编译的程序问题
说归说,但是,上面的问题咱也没解决。仍然报错:
参考网友文章https://blog.csdn.net/yanchenyu365/article/details/130217454
在解决方案资源管理器中,对每个项目,右击属性,修改配置属性。常规 —> 平台工具集 —> Visual Studio 2017 - Window XP (v141_xp)
完美解决。
.NetFramework
最后再提一嘴.NetFramework。
.NET Framework是一个由微软开发的软件框架,它为多种编程语言(包括C#、VB.NET等)提供支持,它提供了一组用于开发和运行各种类型应用程序的库和工具。注意和上文Microsoft Visual C++ Redistributable区分开来。
ET等)提供支持,它提供了一组用于开发和运行各种类型应用程序的库和工具。注意和上文Microsoft Visual C++ Redistributable区分开来。
感兴趣的同学可以去看网友介绍或自行百度:https://blog.csdn.net/weixin_57329148/article/details/130954198