使用VS2008,在项目属性中有一项MFC的使用,有三种设置:    

1.使用标准Windows库   
2.在共享DLL中使用MFC    
3.在静态库中使用MFC    
       第一种顾名思义。
       第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。
       第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行。    
       同时,如果程序本来是第二种方式,发给同事,在同事机器上运行时,可能会出现错误:   “无法启动程序……,由于应用程序配置不正确,未能启动此应用程序。”我觉得,在开发阶段的程序都选第3种比较好吧,不用管大小以及效率,等后期打包的时候用spy等其他工具都可以,来侦测DLL等就行了。(http://blog.csdn.net/xiexievv/article/details/6314874)

"在共享DLL中使用MFC"指的是打包时一些MFC的DLL的内容没有被硬编码到在EXE文件中,所以EXE会文件较小,但是运行时要求运行的系统环境中要有相关的DLL文件.

"在静态库中使用MFC"是将DLL对应的lib静态库中的相关代码硬编码到EXE文件中,文件较大,但是可以在没有已经被包含DLL的机器上运行,当然即使如此也并非所有的DLL都会将其硬编码到Exe中,因此仍然某些DLL是必须的.比如Redistributable Package中的某些DLL.

静态库中编译出来的可执行文件拿到其它机器上也可以运行,共享DLL中编译出来的可执行文件在本机上可以执行,若拿到其它机器上就需要相应的动态库支持。

另外,共享DLL下的工程大小会稍小一些,但是在另一台机器上运行时务必保证那一台机器上有动态库支持。

MFC开发IM-第十五篇、打包的MFC程序别人无法启动的原因相关推荐

  1. MFC开发IM-第二十五篇、往MFC编辑框最后面追加文本

    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT); int nLength = pEdit->GetWindowTextLength(); //选定当前文本 ...

  2. MFC开发IM-第二十四篇、使用 acl 库针对 C++ 对象进行序列化及反序列编程

    在开发网络应用程序时,各个模块之间的数据通信可谓是家常便饭,为了应对这些数据通信时数据交换的要求,程序员发明了各种数据格式:采用二进制数据结构(早期 C 程序员).采用 XML.采用SOAP(坑人的设 ...

  3. MFC开发IM-第二十六篇、vs2008添加库文件

    [Setting]VS2008项目怎样添加"依赖(lib)"."库目录(Libs)"."包含目录(include)"和"引用动态链 ...

  4. MFC开发IM-第二十八篇、acl 的编译与使用

    转载来自::: http://zsxxsz.iteye.com/blog/1506554 ------------------------------------------- acl 库的功能参见文 ...

  5. MFC开发IM-第二十二篇、C++中 Unicode 与 UTF-8 编码互转

    1.简述 最近在发送网络请求时遇到了中文字符乱码的问题,在代码中调试字符正常,用抓包工具抓的包中文字符显示正常,就是发送到服务器就显示乱码了,那就要将客户端和服务器设置统一的编码(UTF-8),而我们 ...

  6. Android UI开发第三十九篇——Tab界面实现汇总及比较

    Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇--ActivityGroup实现tab功能>.这 ...

  7. MFC Windows 程序设计[二十五]之五彩十六宫格(附源码)

    MFC Windows 程序设计[二十五]之五彩十六宫格 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  8. MFC Windows 程序设计[三十五]之五彩十六宫格

    MFC Windows 程序设计[三十五]之五彩十六宫格 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  9. SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. 安装 ssh 的公开密匙到 iPhone 上
  2. Ubuntu 64位系统安装flash player
  3. vue服务端渲染浏览器端缓存(keep-alive)
  4. Odoo中最小库存规则和按订单生成规则的区别
  5. c语言矩阵存储,C语言实现特殊矩阵存储
  6. spring组键扫描
  7. Linux下ftp的安装配置
  8. python log模块_Python日志模块-logging
  9. 黑马程序员--java基础加强之内省(IntroSpector)
  10. MATLAB矩阵基本运算
  11. 2022年6月深圳地区数据分析师认证(CPDA),进入了解
  12. dubbo服务者源码分期
  13. 【报告分享】2021年中国网络文学出海报告-艾瑞咨询(附下载)
  14. 查看opencv版本
  15. 阿里云等企业主导的龙蜥社区发起“龙腾计划”;OpenInfra 基金会推出 LOKI 标准;GitLab 14.6 发布 | 开源日报
  16. 为计算机技术奉献一生语录,关于奉献精神的名言50句
  17. CVE-2015-1427 ElasticSearch(Groovy 沙盒绕过 代码执行漏洞)
  18. 网络神采 网站数据采集软件
  19. 计算机管理器用户怎么打开,win10无法使用内置管理员账户打开计算器如何设置...
  20. 绝世巨作,阿里架构师著作的《架构解密:从分布式到微服务》来了

热门文章

  1. 创建表空间和创建表过程分析
  2. java 获取音频文件时长
  3. markdown方式测试图片2
  4. jquery ajax提交表单数据的两种方式
  5. ios--小结系列六
  6. 为什么中国人穷得只剩房子
  7. 安装了Node.js 从VScode 使用node -v 和 npm -v等命令却无效
  8. System.currentTimeMillis()与日期之间的相互转换
  9. (转)Quartz任务调度(1)概念例析快速入门
  10. (转)使用Spring的注解方式实现AOP入门