对于解决一些VS 2010/2012 C++ 生成的exe在非编译环境电脑中缺失dll的方法

本人只用过2010和2012(update1),出现过生成出来的exe文件在其他windows电脑上面跑会提示“缺失xxxxxdll”的错误提示。

对于这些,是由于在编译时visual studio并没有将dll或者lib链接到exe导致的。本来在网上找了很多方法都说要找lib,但这个对于新手比较复杂(我也是新手)。

所以给出以下对于编译C++的设置:

项目->属性->配置属性->C/C++-代码生成->运行库->多线程 (/MT)

 

  说明:这种方法应该对于一些程序来说最实用,仅需一个程序,放到哪都可以运行。

 

  /MT意思就是静态编译VC运行库,静态了之后就不会再依赖MSVCP110.DLL/MSVCR110.DLL或者MSVCR100.DLL或者MSVCR80.DLL(使用VS2005)了这些类似的情况了。


不同的微软IDE可能设置的位置或名称稍有变动,请各位同学各自衡量了。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当我们在使用VS编译程序时,可能会遇到缺失msvcp140d.dll、vcruntime140d.dll和ucrtbased.dll的情况。这些DLL文件是Microsoft Visual C++ Redistributable所需要的运行库文件,缺少它们会导致程序无法正常运行。 解决这个问题有以下几种方法: 1. 安装Microsoft Visual C++ Redistributable包:首先,我们可以尝试安装或重新安装最新版本的Microsoft Visual C++ Redistributable包。我们可以在Microsoft官方网站上下载适合我们操作系统的对应版本的运行库,然后进行安装。 2. 检查编译选项:另一种方法是检查我们的编译选项是否正确配置。在VS,我们可以通过以下步骤进行检查和更改:打开项目属性→配置属性→C/C++→代码生成→运行库,并选择合适的运行库选项(如使用动态(DLL)选项)。然后重新编译项目。 3. 复制DLL文件:如果上述方法无效,我们可以尝试手动复制缺失DLL文件到系统。首先,我们需要从可运行的电脑或者其他程序所在的文件夹找到这些DLL文件。然后,将这些DLL文件复制到缺失的程序所在的文件夹,或者复制到Windows的System32文件夹。最后,重新运行程序。 总之,缺失msvcp140d.dll、vcruntime140d.dll和ucrtbased.dll的情况是由于缺少Microsoft Visual C++ Redistributable的运行库文件所致。我们可以通过安装这个运行库包、检查编译选项或手动复制缺失DLL文件等方法解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值