使用VC2010生成的可执行程序移植到其他环境中运行,会提示“mfc100ud.dll丢失”。   于是用下面方法解决:
 (1)configuration->Active(Debug)   configuration properties->general->use of MFC,选择use MFC in a static library。   (2)configuration-> debug   C/C++->code generation->runtime library->multi-threaded debug(/MTd) 解决是解决成功了,但是这样子的话,用MFC写的一个一百多K的程序突然就变6点多M了。怎么办?

解决方案 »

  1.   

    你是将mfc的debug库静态编码到exe中了,所以变大。
      

  2.   

    1.程序移植到其他环境运行,需要其他机器上有相应版本的mfc. 否则就要用静态编译
    2.而且一般用release版本。
      

  3.   

    debug版的库一般都不release版的大很多
      

  4.   

    被静态连接进去了,也就是说它的原代码直接编译到你的exe里面去了你完全可以在你的发布项目中带上mfc100ud.dll
    然后还是用动态连接,这样就不会增大体积了
      

  5.   

    用Depends工具看看依赖哪些DLL,然后拷贝过去
      

  6.   

    把 相应的的dll 拷贝到exe文件所在的目录下就成
      

  7.   

    debug版本当然大了,用release版本
      

  8.   

    什么depends工具,怎么看它依赖哪些dll???讲详细点哈,谢谢
      

  9.   


    意思是和应用程序一起打包吗?但是这样客户在解压的时候看见mfc100ud.dll的时候,会不会有的不知道给删了,那不是不能运行了,这样不是很麻烦么?
      

  10.   

    你做成一个安装程序,把所有的文件都拷贝的安装目录下面,然后给你的EXE创建一个快捷方式,这些事情都是安装工具帮你做好的,你设置一下就行。用户通过快捷方式打开就可以了,别的什么都不用管。用户如果自己找到安装目录把这个DLL删掉了,那就是用户的事了。 不过发布版本还是用RELEASE版本比较好。