原文地址:http://blog.youkuaiyun.com/minothing/article/details/6292458
问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法
解决方法:
1.将这些dll打包,和应用程序一起发布;
2.采用MFC静态编译;
附1:VS2010中静态编译设置方法
使用VS2010编译的程序在windows xp中运行时 经常会出现找不到 相关的DLL文件,我们可以使用静态编译的方法把这些运
行依赖文件打包到*.exe中来,以减少对环境的依赖。
一般可以配置一下两项:
1.项目 -> 配置属性->常规->MFC的使用 :在静态库中使用MFC。
2.项目 -> 配置属性->C/C++->代码生成->运行库 :选择/MT。
附2:什么是静态编译
静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,
链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。
本文介绍了解决在不同机器上运行由VS2010编译的C++程序时遇到的dll依赖问题的方法:通过静态编译将依赖dll打包进exe文件,或者选择MFC静态编译方式。解释了静态编译的概念及在Windows XP环境中使用静态编译的好处。
4630

被折叠的 条评论
为什么被折叠?



