vc++6.0初学者的问题,请各位指点。
听说c做的exe可以单独发布,我就用vc++6.0向导
做了一个,并没有写一句语句,生成的exe在我的
机上可以运行,可是在别人的机上运行时却提示
缺dll。能告诉我为什么吗?我该学什么?怎么着
才能使做的exe可以单独发布?
问题点数:50、回复次数:21Top
1 楼Holly()回复于 2000-10-03 11:46:00 得分 0
press Alt+F7,
then switch to General tab,
Change Microsoft Foundation Classes:item to Use MFC in a static library!
OK!
Top
2 楼ddddh(叶君临)回复于 2000-10-03 12:59:00 得分 10
选择静态连接就可以了。因为动态时需要mfc的dll,不过在98下面,好像操作系统是自己带了的Top
3 楼wvc()回复于 2000-10-04 14:11:00 得分 0
不要选择debug你选择release就可以了. Top
4 楼wvc()回复于 2000-10-04 14:14:00 得分 0
在编译时不要选择debug你选择release就可以了. Top
5 楼cdc(才东才)回复于 2000-10-04 18:55:00 得分 0
先谢谢各位
能不能说说原理呢?
Top
6 楼susanll(晴天公仔)回复于 2000-10-04 20:58:00 得分 0
请大家多多指教啊~~~~~~~~~~~~~``Top
7 楼Drate(小虫(好好学习,天天向上))回复于 2000-10-04 21:24:00 得分 10
因为微软的项目中默认的程序链接方式是用动态链接库(DLL)这样, 可以节省程序运行时的内存空间,因为用DLL就节省了用到如MFC**.DLL不用在内存同时存在多个备份如果用了静态库的话,所有在程序中用到的资源都会以编译时加入到你的程序中来,这样你的程序会变得好大,而且不容易在以后的程序中进行软件维护
如果想要知道更详细的内容的话可以发E_MAIL给我
能不能给我加分呢?
Top
8 楼kenvin(小心,有地雷)回复于 2000-10-04 22:45:00 得分 10
在主菜单的project下,选择setting,在foundation项选择 Use MFC in a static library!
然后,重新编译,运行即可
Top
9 楼nemo2050(朝闻道,夕死可矣。)回复于 2000-10-04 23:30:00 得分 0
你可以各选择静态连接和动态连接试着编译一下,然后对比一下它们俩的长度,看看有什么不同?Top
10 楼sxbyl(sxbyl)回复于 2000-10-05 18:54:00 得分 10
Holly提供的方法是最简单的,但这样做出来的程序比较大。因为用MFC建立的程序要用到很多由MFC封装的类,这些功能在MFC42.DLL等几个动态库中(如果是Debug版,则在MFC42D.DLL等几个文件中),至于用到哪些动态库,你可以用VC提供的Depends工具察看,也可以在程序运行时在Debug输出栏察看。Holly提供的方法是将这些本来放在动态库中的内容连入执行文件中,以后自然不再需要那些动态库了。如果你不用静态库,可以将需要的那两个动态库(一般来说对于发行版就是MFC42.DLL和MSVCRT.DLL)单独拷出来,就没问题了。还有一种方法是制作安装文件。
以上说的动态库专指由MFC提供的DLL。Top
11 楼boodweb(TTT)回复于 2000-10-06 02:50:00 得分 0
mfc42.dll有两个版本debug,release
debug用的是mfc42d.dll
而一般win98里只有mfc42.dll,是release版本的Top
12 楼cdc(才东才)回复于 2000-10-06 21:15:00 得分 0
再次谢谢各位 : )
我给分是很慷慨的,不信可看我已获解答的25428
和29096,请各位再一次忙。
如果不把动态库连入exe,是不是发布包中没有MFC*.dll
,exe就不能运行了呢?
也就是说因为VC++6.0用了MFC,就实现不了我的愿望:
发布一个小巧的绿色exe?
如果是这样的话,就只能用API了?Top
13 楼boodweb(TTT)回复于 2000-10-06 21:28:00 得分 0
这倒不一定,微软已经在98中放入了mfc42.dll等几个dll
所以没有这个问题,但是在95里恐怕就要象你说的那样了Top
14 楼boodweb(TTT)回复于 2000-10-06 21:30:00 得分 10
这倒不一定,微软已经在98中放入了mfc42.dll等几个dll
所以没有这个问题,但是在95里恐怕就要象你说的那样了
嘿嘿,居然用分数来勾引我,不过要注意不是谁都吃这一套
的哦,技术交流最重要Top




