zoukankan      html  css  js  c++  java
  • 关于VC++6.0 MFC项目运行所需的动态链接库

    无论是用VC++6.0开发的MFC项目,还是VS开发的MFC项目,如果需要进行项目的发布,必须要进行静态编译,生成release版本。然而在实际环境中,有时候开发人员并没有注意,直接动态编译,然后把相应的exe可执行文件直接放到某Windows平台下直接运行,导致该exe文件无法运行,说是缺少相应的动态链接库。

    遇到类似问题,解决思路如下:

    方法一:拷贝DLL文件方式(以VC++6.0为例)

    1. 用depends工具查看该exe文件需要哪些动态链接库,depends上面显示的黄色标志,说明缺少相关的dll文件,并将这些dll放到与exe文件同一目录下。

    2.如果还是运行不了,说明该环境缺少mfc相关的动态链接库,根据往常经验,需要拷贝4个文件:MFC42.DLL MFC42D.DLL  MSVCRT.DLL  MSVCRTD.DLL   即可运行

    方法二:重新编译原项目

    1. 找到原项目的项目代码,在原项目中,重新编译,选择"使用MFC作为静态链接库"进行编译,生成release版本。这样就可以包含mfc的基本dll文件

    2. 如果项目中,还包含第三方的动态链接库,则需要用depends工具进行查看,将显示黄色标志的dll添加到exe文件下的同一目录。

    一般地,如果项目中没有涉及到第三方动态链接库,则用静态链接库进行编译,都可以直接运行。如果涉及到第三方动态链接库,除了要包含第三方dll文件外,还需要包含额外的其他文件,

    在VS2008中,就需要额外的 MFC90D.DLL  MSVCR90D.DLL 。(这些都可以利用depends工具进行查看

  • 相关阅读:
    hdu 4324(dfs)
    hdu 2376(求树上任意两点之间距离之和的平均值)
    hdu 3665(最短路)
    hdu 4463(最小生成树变形)
    hdu 2242(边双连通分量)
    hdu 2682(最小生成树)
    hdu 2444(二分图的判断以及求最大匹配)
    陶哲轩实分析命题6.4.12
    陶哲轩实分析习题8.3.4
    CantorBernsteinSchroeder定理的证明
  • 原文地址:https://www.cnblogs.com/ycbeginner/p/9992968.html
Copyright © 2011-2022 走看看