zoukankan      html  css  js  c++  java
  • 黄聪:VS2008的动、静态编译[转]

    开始写了个HelloVS2008,在本机正常运行,但在我的虚拟机中就运行不了,
    如图一:

    意料之中,因为前久也或多或少看过一下VS2008的相关文章。
    为何出现这种情况呢?
    因为VS2008的动态链接库已经是MSVCR90.dll或MSVCR90D.dll了,
    而我们系统中安装的一般是低版本的。
    要避免这种情况也很简单,从网络中学习到:静态链接就可以了。
    以Debug编译为例,默认是这样的(/MDd),如图二:

    按F7编译,成功,体积30K,如图三:

    我们用Stud_PE查一下,用到了MSVCR90D.dll,如图四:

    在本机运行肯定是成功的,但在其他机子上就未必,就像图一那样。
    下面我们修改成静态链接(/MTd),如图五:

    按F7编译,成功,体积440K,如图六:

    我们再用Stud_PE查一下,没有MSVCR90D.dll了,如图七:

    放到其他机子上运行一下(我这里是虚拟机,纯净的),如图八:

    Release也一样的,默认是这样的(/MD),如图九:

    F7编译后用Stud_PE查一下,用到了MSVCR90.dll,如图十:

    下面我们修改成静态链接(/MT),如图十一:

    我们再用Stud_PE查一下,没有MSVCR90.dll了,如图十二:

    就是这样。

  • 相关阅读:
    UESTC_王之迷宫 2015 UESTC Training for Search Algorithm & String<Problem A>
    UESTC_The Most Wonderful Competition CDOJ 56
    UESTC_神秘绑架案 CDOJ 881
    MFC 自定义消息的一般过程
    MFC 如何添加自定义消息
    MFC子窗口向父窗口发送消息
    MFC子窗口和父窗口
    单链表
    C++ STL基本容器的使用
    C++ Primer 3rd 读书笔记
  • 原文地址:https://www.cnblogs.com/huangcong/p/1916094.html
Copyright © 2011-2022 走看看