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工具进行查看

  • 相关阅读:
    linux下实现tomcat定时自动重启
    Mybatis中实现oracle的批量插入、更新
    linux 下ffmpeg和mencoder安装
    jwplayer 源代码重新编译
    如何让android sdk manager飞奔安装sdk
    linux+apache+mod_Jk+tomcat实现tomcat集群
    oracle知识杂记
    Spring Mvc session拦截器实现
    Linux下Tomcat安装、配置
    Linux下安装、配置、授权、调优Mysql
  • 原文地址:https://www.cnblogs.com/ycbeginner/p/9992968.html
Copyright © 2011-2022 走看看