编程论坛
注册
登录
编程论坛
→
VC++/MFC
【求助】用MFC做的计算器怎么弥补在别的电脑上运行时缺失mfc42d.dll等文件的缺陷?
Vitens
发布于 2012-07-30 11:36, 1547 次点击
暑假在家自学VC6.0的MFC几天了,完成了一个计算器,当时在自己电脑上就提示缺失mfc42d.dll mfco42d.dll msvcrtd.dll这三个文件,于是我分别下载了这三个文件,放在C:windouws\System32\ 目录下就可以运行了,但是把自己的计算器放在别的电脑上(这电脑上还是没有这三个文件),还是要在将这三个.dll文件发到这电脑上才能正常运行我的这个计算器,这样我觉得很有局限性。
请问各位大虾有什么方法可以避免此问题?
这是我做的计算器
只有本站会员才能查看附件,请
登录
小弟谢谢了先~
7 回复
#2
lonmaor
2012-07-30 11:49
1.在别的电脑上安装vc6运行时库,道理跟你复制那三个文件是一样的
2.编译时使用静态链接把库给编译进去,后果就是发布的程序体积较大。ps这个静态链接选项好像是创建工程时候选择的,对vc不熟。
#3
Vitens
2012-07-30 11:49
补充:会不会是因为我现在用的是win7,而这个VC是从我以前电脑拷过来用,以前是XP的,拷过来直接用就会有这样的问题呢?
#4
Vitens
2012-07-30 14:47
回复 2楼 lonmaor
谢谢你告诉了我这个解决的方向,我也是从你这里才知道静态链接的,现在正试着去了解学习哈这个东东,恩 ,谢谢啦
#5
lonmaor
2012-08-13 12:57
今天知道了在工程设置选项中,可以设置mfc库的动态/静态链接选项
#6
Vitens
2012-08-13 13:20
回复 5楼 lonmaor
我现在是用的这个方法,移除工程配置,选择Release,然后在Release文件夹下面生成的EXE文件就能在其他电脑上面用了,哈哈,这样的exe文件和和一起的大小差不多,一个计算器也就100多KB的样子。
#7
lonmaor
2012-08-20 15:47
回复 6楼 Vitens
release过后的程序跟debug发布的程序相比只是去除了一些调试信息。仍然是没有mfc库依存的,如果要独立运行,必然要把mfc库静态链接进去(放在应用程序同一目录下或者windows/system32似乎可以,但个人不能确定是否有不可以的情况存在)
#8
Vitens
2012-08-21 11:21
回复 7楼 lonmaor
从不知道到知道,到知道自己不知道,呵呵,引用你的那句话,看来要学的果然还有很多啊。
1