CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

请问如何编译exe文件使之脱离VC++运行?

楼主zqgem(Gem)2002-05-10 17:42:56 在 VC/MFC / 基础类 提问

为什么我的exe文件在没有装vc的机器上运行不了?  
  我已经在project的setting中设了Use   MFC   in   a   Static   Library,  
  为什么还是不行 问题点数:20、回复次数:19Top

1 楼mbxxx(zhoutong)回复于 2002-05-10 17:47:29 得分 5

编译成release版本就可以了!Top

2 楼Focus(西门大灌人)回复于 2002-05-10 17:47:32 得分 0

出什么错  
  你是不是使用了ACTIVEX组件Top

3 楼mbxxx(zhoutong)回复于 2002-05-10 17:49:22 得分 0

设置在BUILD菜单中的SET   ACTIVE   CONFI。。。。Top

4 楼dark_zy(dark_zy)回复于 2002-05-10 17:53:38 得分 5

开始建MFC程序的时候设置为statci   library,不要在后面才改  
  我有个程序也是这样子的,后面改好象没有用。  
  我就没改成,只好再新建一个。Top

5 楼celxta(celxta)回复于 2002-05-10 17:56:46 得分 0

加入VC的库Top

6 楼Focus(西门大灌人)回复于 2002-05-10 17:58:08 得分 0

我觉得你可把DEBUG下生成的所有文件全部DELETE  
   
  然后REBUILD   EXETop

7 楼kaimu_boy(理元)回复于 2002-05-10 18:00:09 得分 0

dark_zy(dark_zy)   说的对!Top

8 楼prog_st(st)回复于 2002-05-10 18:02:14 得分 5

VC6编译的EXE文件,不必选择静态库编译,就可以在新装的系统中运行(新系统中含有MFC42.DLL),除非你用了ActiveX控件,包括MS提供的,在新系统中需要注册。  
   
  VC7则需要包含MFC70.DLL,debug版本需要MFC70D.dll,其余相同。Top

9 楼junguo(junguo)回复于 2002-05-10 18:03:47 得分 5

你只要点鼠标右键,选择build.在出现的列表框中把win32   debug改成win32   release.然后重新编译程序。  
     
  vc会生成release目录,其下的exe文件可以在没有vc的环境下运行Top

10 楼dark_zy(dark_zy)回复于 2002-05-10 18:04:51 得分 0

好象不对哦,在WINDOWS   XP   PRO中文下就没有MFC42.DLL。Top

11 楼wyarrant(ostrich)回复于 2002-05-10 18:24:29 得分 0

把mfc的库文件一起考过去Top

12 楼xrenwu(卖火柴的大男孩)回复于 2002-05-10 19:23:41 得分 0

up一下!呵呵Top

13 楼tiaozi2000(VC)回复于 2002-05-10 20:57:30 得分 0

win98   se以上版本的WINDOWS好象都包含MFC42.DLL了!    
   
   
  XP不会没有吧?     奇怪???  
  Top

14 楼zqgem(Gem)回复于 2002-05-10 21:07:00 得分 0

各位大侠,你们所说的方法我都试过了。  
  在98   se(没有装vc)的系统上运行就出现“该程序执行了非法操作,即将被关闭”,而在me的系统上就正常运行。  
  而用release编译之后的exe文件只有原来的1/8?而且在我自己的机器上debug都会出现非法操作。为什么啊?我只是在程序中用到了几个关于文件操作的函数而已啊。Top

15 楼turboly(叶归尘)回复于 2002-05-11 11:22:49 得分 0

upTop

16 楼feifei2001(鼠标)回复于 2002-05-11 11:49:47 得分 0

用动态库试试,要加上mfc42.dll(在没有装VC   的机器上),  
   
  如果你的程序用到其他控件,还要加相应的.ocx   文件。Top

17 楼zqgem(Gem)回复于 2002-05-11 15:29:22 得分 0

我已经在一台没有装vc的98se机器上把mfc42.dll拷到C:\windows\system,但是还是出现上述问题,程序中没有用到其他ocxTop

18 楼thankeehuang(流浪者)回复于 2002-05-11 16:00:41 得分 0

要不做个Installer吧,一切都搞定的!Top

19 楼weblove(visual c plus plus)回复于 2002-05-11 16:20:40 得分 0

你程序中的相关库都要加啊Top

20 楼psusong(栀子花开)回复于 2002-05-11 16:22:33 得分 0

问题很简单!  
  只要依次进行下面设置即可,打开你的VC工程文件->选择project-->  
  setting   ->选择win32   Release   配置选项,在左边的选项卡中选择General   在  
  Microsoft   Foundation   clasess   中选择use   MFC   in   staitc   Library  
  就一切OK!Top

21 楼luohx(罗必鑫)回复于 2002-05-11 16:31:20 得分 0

好,好,好Top

相关问题

  • VC编译问题
  • vc++编译问题???
  • VC 编译问题!!
  • vc编译错误
  • vc不能编译
  • 编译问题!VC
  • vc编译 程序
  • VC++编译问题
  • VC编译问题
  • VC编译问题??????

关键词

  • win32
  • 文件
  • vc
  • mfc
  • 系统
  • 选择
  • release
  • debug
  • dll
  • 程序

得分解答快速导航

  • 帖主:zqgem
  • mbxxx
  • dark_zy
  • prog_st
  • junguo

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo