编译环境:VC6.0。现在有一个程序在自己的电脑上可以成功运行,可在别人电脑上就不行。原因是我的C:\WINDOWS\system32下具有mfc42d.dll这个文件。现在已经有一种解决方法:上网找到mfc42d.dll文件,下载,放到C:\WINDOWS\system32文件夹下。我在百度白科上找到这样一种说法: 一、用户:
a、去找个MFC42.DLL 拷贝过去
二、开发者:
a、选择菜单build->Set Active Configuration,然后选择Release,
b、选择菜单project->settings,在General选项卡里第一项选择Use MFC in a static Library,即静态连接
注:其实这就是生成了发布版程序,在Release目录下,可执行文件不会用到那两个讨厌的dll文件,一般到别的机器上都能用.我用的是汉化VC6.0,请问我如何能得到Release版的EXE程序?尝试好多次Release目录下仍然没有生成可执行文件。
a、去找个MFC42.DLL 拷贝过去
二、开发者:
a、选择菜单build->Set Active Configuration,然后选择Release,
b、选择菜单project->settings,在General选项卡里第一项选择Use MFC in a static Library,即静态连接
注:其实这就是生成了发布版程序,在Release目录下,可执行文件不会用到那两个讨厌的dll文件,一般到别的机器上都能用.我用的是汉化VC6.0,请问我如何能得到Release版的EXE程序?尝试好多次Release目录下仍然没有生成可执行文件。
不过这个方法对你的问题没有用的,因为release与debug版的区别是将debug中的调试信息去掉了,得到的EXE文件更小而已,并不能解决运行程序的机器中没有MFC的DLL的问题.解决的办法只能是用静态连接的方法.另外楼主以为静态连接MFC和生成release版程序是一回事,其实不一样的.静态连接是将MFC中的代码连接到EXE中去,得到的EXE会变大,所以它不用DLL支持.release版是将调试信息去掉.