RT
我用mfc,vc6.0++写个学生成绩管理,后台连的sql2000,自己的机子上运行的好好的。搞到别人的机子上,数据库配好了,他们的没装vc,程序一运行就少这少那什么mfc42d.dll,
难道要我把这一系列dll都拷贝下来,放到人家机子里去?
有没有什么解决办法????

解决方案 »

  1.   

    先编译成release版本再说。
      

  2.   

    这就要对你编的程序进行打包了!!!!将这些dll打包到安装程序中!!!!!!
      

  3.   

    要发布release版本,最好做安装程序
      

  4.   

    debug 版本也可以打包的!!!我试过
      

  5.   

    要么就找个干净的机器环境,看看有哪些dll,然后可以用vb打个安装包,把dll都加入
      

  6.   

    静态release编译, 或者装个分发包。 或者用打包工具自动打包进去。
      

  7.   

    Release也是需要DLL支持的,看你的程序依赖那些DLL,打包吧
      

  8.   

    vc6的话可以自带的工具Depends.exe看需要哪些dll拷过去就可以了。
      

  9.   

    楼主也太菜了。mfc42d.dll显然是调试用的DLL嘛。你要生成Release版本。后者虽然也要依赖一些库,但那些都是标准库,WINDOWS操作系统自带的。(针对VC6)
      

  10.   

    有几种方法:
    1、如果你的exe是打成安装包给用户使用的,可以将缺少的库一并打包,安装程序运行的时候直接放入系统目录;
    2、如果没有安装包,将缺少的库从你机器拷贝至目标机器相同目录下
    3、在工程->设置中settings for 中选择Win32 Debug 然后General页面,Microsoft Foundation Classes中选择“Use MFC in a Static Library”,然后settings for中选择Win32 Release Microsoft Foundation Classes中选择“Use MFC in a Static Library”,然后Build->BatchBuild 就可以了
      

  11.   

    debug差了个什么呢?请问。。为什么要这样搞,微软当初
      

  12.   

    真服了,一遇到这个问题就一堆人喊release,链接库的问题和release有关系吗?
    不多说了,看我以前发的帖子
    http://topic.csdn.net/u/20100728/13/7bdd0903-6b19-480e-a02c-9571f42e69cf.html
      

  13.   

    你用Release版本,而且静态。然后打包成安装程序。
      

  14.   

    看看你的程序都使用了哪些dll,并且要表演 release(发布版) 版本的这些都确定后,把你的exe 和 所需的 dll 都移到另一台机器在试试(相关要注册的dll或者组建)先写个 批处理 注册下或者如同几位楼上的朋友说的 做个安装包也是可以的
      

  15.   

    用Depends工具看看差什么,就copy什么dll
      

  16.   

    在VC6中,选择project->project setting for 中选择Win32 Release 然后General页面,Microsoft Foundation Classes中选择“Use MFC in a Shared DLL”
    然后把 mfc42.dll 、 msvcrtd.dll 文件一并拷贝到目标机就可以。
      

  17.   

    1,Release版本2,用VS的depends查看dll依赖关系,把所有的dll打包在一起发布
      

  18.   


    +1  VC6就这么干了。后面的VC版本都提供了distribute library,就不用这么麻烦了。
      

  19.   

    这个问题最后还是,你用Release版本,而且静态,解决的