我想把程序给老师看看,老师那里没有vc,我在设置里选择
Use MFC in Static Library
编译后提示:
--------------------Configuration: FinalReport - Win32 Debug
(4) : warning C4651: '/D_DLL' specified for precompiled header but not for current compile
C:\Documents and Settings\baryjim\桌面\FinalReport13\FinalReportView.cpp(4) : warning C4651: '/D_AFXDLL' specified for precompiled header but not for current compileFinalReportView.obj - 0 error(s), 2 warning(s)
在没有vc的环境下运行他的.exe文件,说我缺少MFC42D.DLL 1,请问怎么才能运行。
2,为什么我的配置里面只能选择DEBUG,而不能选择Release.到底怎么回事?
3,Release版本是不是就是把debug的一些调试的代码清除出去,使程序更加优化,代码更小

解决方案 »

  1.   

    找到缺少的dll拷贝到你们老师机器的系统文件下:win98 system win2000 system32
      

  2.   

    必须是release才行吧你的vc++是学习版的么,学习版没有release,安企业版就okrelease不仅去掉了调试代码,而且对代码进行了优化。
      

  3.   

    可能是楼主版本的问题,编译成release以及Use MFC in Static Library就可以拿到别人及其上去用了,没有问题的如果楼主没有用别的特殊的控件,就不用打包,如果不想换VC版本的话,就把缺少的dll考到对方的机器上去吧,好像是3个,如果是2000/xp系统,dll就在windows\system32 目录下,
    98是在system目录下
      

  4.   

    怎么能知道我得程序需要那些.dll
      

  5.   

    回baryjim:
       运行时如果缺少DLL,会有提示的,到时你不就知道了。   实在不行用SPY,把用到的DLL都找出来。
      

  6.   

    编译成release以及Use MFC in Static Library就可以拿到别人及其上去用了,没有问题的好像是不行吧!
      

  7.   

    debug模式生成的exe要用MFC42D.DLL,release模式生成的exe要用MFC42.DLL
    但是MFC42.DLL在windows系统中有,那是安装操作系统就有的
    所以你在release模式下build成的exe文件不用静态链接也可以运行于没有安装vc的机器
    当然你不要用第三方控件或是第三方dll
      

  8.   

    先release一个版本,然后在你老师那里执行该程序的时候提示少什么文件,你就把你机器上该文件考到system或者system32下面就可以了
      

  9.   

    先release一个版本,然后在你老师那里执行该程序的时候提示少什么文件,你就把你机器上该文件考到你老师机器上的system或者system32下面就可以了
      

  10.   

    "编译成release以及Use MFC in Static Library就可以拿到别人及其上去用了,没有问题的"
    这句话正确。我这样做的exe在只有操作系统的工控机上都没有问题。
      

  11.   

    你用release 编译以后就可以用乐
      

  12.   

    生成release版也要MFC的DLL注册的,你先生成release版然后用它自带的安装向导打包成可执行文件
      

  13.   

    生成release版然后用它自带的安装向导打包成可执行文件???这个怎么做啊?