难道非要拷贝所有需要的连接库,如mfc42.dll等到目标机子上,或者做一个安装程序,安装好所有的动态连接库呢
有没有一种方法在编程时,设置一下,在别的没状vc的机子上就可以运行啦。
谢谢

解决方案 »

  1.   

    你是用的Debug模式编译的,改成Release模式下编译就不需要那些dll了
      

  2.   

    怎么编译,是否在project->setting->release就行啦呢
      

  3.   

    编译的时候,改为静态编译!
    菜单
    Project\Settings  属性页General
    把Microsoft Foundation Classes类型改为Use MFC in a Static Library不过这样编译出来的exe很大
      

  4.   

    可是,我按过release后,按确定以后,我再去看,又变回debug,怎么回事呀
      

  5.   

    把相关的MSVCRTD.DLL、MFCO42D.DLL、MFC42D.DLL都拷过去。
      

  6.   

    你在工具条上单击鼠标右键,选择“编译”,然后再出现的编译工具条里选择release,那样就可以了
      

  7.   

    Build->Set Active Configuration改为Release
      

  8.   

    拷贝和安装的方法,我都明白,但是太麻烦
    Project\Settings  属性页General
    把win32 debug改成release后,按确定以后,我再去看,又变回debug,怎么回事呀
      

  9.   

    静态编译另外你可以使用一些安装软件进行打包
    比如InstallShield
    如果嫌麻烦
    也可以用SetupFactory或是Inno
    打包以后就可以直接运行了
      

  10.   

    在building的子菜单中可以选择生成debug模式还是release模式,
    选上就可以呀,怎么还会变会debug呢,要不........嗬嗬,不知道了。
      

  11.   

    同意 flinming(flinming) 
    不过,生成的文件会很大
      

  12.   

    Build->Set Active Configuration改为Release
    Release下或者Debug下静态编译
      

  13.   

    COPY  下面的文件与你的程序放在一起。这是一个最好的方法。并且不会有别的什么问题。
    MSVCRTD.DLL
    MFCO42D.DLL
    MFCN42D.DLL
    MFC42D.DLL
    或将改成Release模式
    Build->Set Active Configuration下选取Release
    就可以了
      

  14.   

    "Project"-"Settings"中的 “General"把Microsoft Foundation Classes改为Use MFC in a Static Library
    再将"Build"中的Set Active Configuration改为Release。
      

  15.   

    一般情况下 VC6做的程序 RELEASE 编译(动态DLL连接)后,在WIN98 SE以上操作系统中都能直接运行而不需要COPY MFC DLL, WIN98 SE已经包含 MFC42。DLL
      

  16.   

    怎么楼上的回答这么像我的网站:)
    http://vcp4.51.net/VC/Other.htm
    第12条。
    不过我漏了讲:如果你是用SPX的要注意的问题,如果你的SPX时间早于你的操作系统的,Release编译的动态库不要打补丁,或者自己COPY上。过几天会更正。