用MFC做了个程序,但是在没装VC的PC上就显示错误,缺少MFC42D.dll文件,我打算用installshield做个install,有没有更好的方法啊?在VC下能不能直接对工程打包啊?然后把需要的动态联接文件包含进来,怎么做?

解决方案 »

  1.   

    你的程序在发行时一定要用release的。编译时:
    Build\Set Active Configuration, 在弹出的对话框中选win32 release, 然后再rebuild all.
      

  2.   

    楼上错误:
    方法一:拷贝MFC42D.dll等文件,好象共4个。次为下下策
    方法二: 编译的时候使用静态编译: projects->setting->general选项卡->Use MFC in a Static Libirary 中策
    方法三:彻底抛弃MFC编程,使用SDK, 上策。
      

  3.   

    程序动态链接MFC库时,要连同MFC42D.dll(debug)或MFC42.dll一起发布.好像还有几个文件.当然,使用静态编译的话也可以.
      

  4.   

    1楼正解你现在正在调试的是Debug版本的程序,只是方便调试(功能)试速度快而已,将这个Debug版的拿出来献,缺点多多!
    第1.未经过优化的调试版,所以运行速度熬熬慢,第2.行文件大,一般1-2MB以上,而Release版的同样只有40Kb左右,第3是必须有VC调试用的动态连接库支持MFC***D.dll ...
      

  5.   

    不要静态连接的话就一定不能在没有安装VC的机子上运行MFC程序吗?
      

  6.   

    回复人: hns2002(修罗王) ( ) 信誉:100  2005-04-28 21:56:00  得分: 0  
     
     
       不要静态连接的话就一定不能在没有安装VC的机子上运行MFC程序吗?
      
     
    找到你需要的dll。打包进去。这个比较麻烦
      

  7.   

    1.Build\Set Active Configuration, 在弹出的对话框中选win32 release
    2.选择Project -->Setting -->Use MFC in Static Library
      

  8.   

    静态编译加上release版本,不然就要COPY DLL文件