VC++6.0 MFC项目运行所需的动态链接库

发布时间:2020-07-26 10:05:03.55编辑:佚名阅读(122)

无论是用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工具进行查看

  关键字:VC++6.0MFC项目动态链接库


鼓掌

0

正能量

0

0

呵呵

0


评论区