zoukankan      html  css  js  c++  java
  • 当你的程序在朋友的机器上显示丢失msvcr100d.dll的时候

    0. 给朋友发了个DEMO,收到提示:丢失 msvcr100d.dll

     

    1. 一看是运行库文件,赶紧让朋友下载并安装vc++ 2010 redistribution,朋友反馈还是提示丢失这个dll文件

     

    2. 把我本地的这个dll拷贝到他机器里,提示成功

     

    3. 太奇怪了啊,这玩意就是vc++运行库文件啊,为啥装了redistribution还不成呢

     

    4. 我注意到了这个文件名的100后面带着一个d字,让我想起了debug~

     

    5. 在VC里面找设置,终于发现了:Property->C/C++->Code Generation->Runtime Library

     

    6. 总结:

    msvcr100d.dll,这个dll对应的是C++编译器的Code Generation的Runtime Library版本的设置。默认vs2010会把他设置成Multi-threaded Debug DLL (/MDd),这时使用的就是msvcr100d.dll。正常发布时应该是设置为Multi-threaded (/MT)或/MD,这时就会去使用vc++ 2010 redistribution里的dll了。带d的DLL含有living debug所需的调试功能,但不在redistribution里。

     

    7. 另外,直接修改编译模式从Debug改为Release也会修改这个配置。但别忘记了把Release下的VC++ Dictionary里的值和Link Input重新配置哦,这些配置也同样不会从Debug里复制过来。

    Keep it simple!
    作者:N3verL4nd
    知识共享,欢迎转载。
  • 相关阅读:
    提问必备-如何有效的提问?
    通过jdbc驱动连接thriftserver
    在idea上使用springboot构建ssm项目(一)
    二柱子与他的计算题
    JavaScript
    表单格式化
    2020.10.09
    HTML书写规范
    下拉列表框 JComboBox
    用户登录界面
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5834916.html
Copyright © 2011-2022 走看看