在VC下面,有4个参数是跟静态/动态编译有关的。    /MD  /MDd  /MT  /MTd

其中, MT , MTd可以认为是静态编译。也就是说,设置成MT, MTd后编译出来的*.exe程序在运行时是带了符号的。而MD MDd是不带符号的。后面的小写的d表示是否允许调试,允许调试的含义是在编译这个程序的同时把调试信息(函数名、位置、变量信息)加到输出程序里了,使得该程序可以被debug断点跟踪。 这个相当于 Linux下的-g选项。

如果以MD MDd编译,则你的程序不能在别人的机器上运行,除非别人的机器先安装了所依赖的库(又叫runtime dll 运行时库),即以下几个文件:

msvcm90.dll

msvcp90.dll

msvcr90.dll

Microsoft.VC90.CRT.manifest

注意那个manifest也是必须的,错了也不行。

以MT, MTd编译的程序是不需要这些runtime dll的。不过如果你在程序中调用了其他第3方dll,而那些dll还是要附上的。进一步的,如果那些dll是以MD编译的话,你还是要把上术runtime dll安装上(因为你依赖的dll又依赖了runtime dll)。不过正常情况下发布的dll应该是MT编译的,所以不用担心人家的dll有什么问题,把自己的程序编好再说。

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2014-06/103105.htm

/MD /MDd /MT /MTd相关推荐

  1. vs编译c语言停止工作运行库mt,vc++编译时运行库选择(/MT/MTd/MD/MDd)

    vc++编译时运行库选择(/MT/MTd/MD/MDd) vc++编译时运行库选择(/MT./MTd./MD./MDd) 在vs中,项目属性 ->C/C++ ->代码生成 ->运行库 ...

  2. VC调试选项说明:md /mdd /ml /mt/mtd

    VC调试选项说明:md /mdd /ml /mt/mtd 1. VC编译选项 多线程                             (/MT) 多线程调试                   ...

  3. /MD 与 /MT、/MTD与/MDD的区别

    VS在 属性页的 C/C++ -> Code Generation -> Runtime Library 一项中总共有四个选项 /MD 与 /MT./MTD与/MDD,它们分别有什么区别? ...

  4. VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别

    VC编译选项 /ML /MLd /MT /MTd /MD /MDd之间的区别 VC编译选项 多线程(/MT) 多线程调试(/MTd) 多线程 DLL (/MD) 多线程调试 DLL (/MDd) C ...

  5. 一文带你弄懂Visual Studio:运行时库及MT/MTD、MD/MDD

    一文带你弄懂Visual Studio:运行时库及MT/MTD.MD/MDD 引子 什么是Runtime Library? Runtime Library和运行库 MT MTD MD MDD的关系 静 ...

  6. CMake设置MSVC工程MT/MTd/MD/MDd

    文章目录 0. 前言 1. 如何设置 1.1 CMakeLists代码 1.2 要点1:POLICY 1.3 要点2:set_property 0. 前言 在MSVC工程上右键->属性,找到配置 ...

  7. /MD与/MT、/MTD与/MDD的区别

    /MD 使应用程序使用运行时库的多线程并特定于DLL 的版本.定义 _MT 和 _DLL,并使编译器将库名 MSVCRT.lib 放入 .obj文件中.用此选项编译的应用程序静态链接到MSVCRT.l ...

  8. VS 编译时 /MD 与 /MT、/MTD与/MDD的区别

    VS在 属性页的 C/C++ -> Code Generation -> Runtime Library 一项中总共有四个选项 /MD 与 /MT./MTD与/MDD,它们分别有什么区别? ...

  9. vs MD /MDD /ML /MT /MTD的简单介绍

    1.MD /MDD /ML /MT /MTD的简单介绍 在编译ATL工程后,生成的dll在本电脑上能用,在别人的电脑上不能用.通过Depends工具分析一下,原来是编译选项没有选对,别的电脑上没有我生 ...

最新文章

  1. 国产SM4密码算法详解和实现
  2. argv[1] 路径问题
  3. Winform中给DataGridView添加多选框列并获取选中行的内容
  4. 坑爹的SQL ISNUMERIC
  5. 图像二值化 php im2bw,图像二值化-MATLAB实现
  6. html清除图片缓存
  7. [Diary]6.10
  8. excel单元格斜线_怎么在excel中画斜线?怎么在excel表格中画斜线?
  9. 2020 大厂研发岗薪酬排名出炉,看完我真的拖后腿了。。。
  10. adb启动app_adb命令实战十三步
  11. 《计算机网络入门到精通》网络体系结构
  12. 多线程中,NSOperationQueue和GCD的区别
  13. 最小路径问题_Floyd
  14. MySQL中删除表中并不存在的数据不报错
  15. 莫兰迪颜色表以及RGB向16进制颜色的转换连接
  16. ubuntu16.04安装谷歌拼音输入法并可在QtCreator中使用
  17. html 播放ogg,HTML5中video 和 ogg
  18. python父亲节快乐_一个“MacBook”新手的Python“笨办法”自学之旅 #第七章:字符串、文本、各种打印、转义序列、手动输入raw_input()...
  19. 纪录大华的智能回调需要用到的事件列表
  20. k8s之炉火纯青之pinpoint链路追踪

热门文章

  1. 解决CP21xxCustomizationUtility不能读取到cp2102的问题
  2. 移动宽带无法连接微软服务器,无法连接到移动宽带 - Windows Client | Microsoft Docs...
  3. 计算机网络与电竞的论文,谈谈电子竞技毕业论文.doc
  4. matlab:分析控制系统稳定性综合实例
  5. Arnold材质节点篇-凹凸 法线贴图 圆角/置换曲面细分
  6. funannotate安装
  7. 通常的六种网络拓扑结构
  8. arcgis制图之天地图符号样式配置
  9. 校园网站设计,校园门户网站,学校官网,python计算机毕业设计
  10. 图论概念:Degree Centrality 和 Betweenness Centrality