博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~
阅读量:4109 次
发布时间:2019-05-25

本文共 882 字,大约阅读时间需要 2 分钟。

昨天编译文件时出现了Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~的错误。

 

在网上很容易找到了解决的方案,公布如下:

 

对着你的项目点击右键,依次选择:属性、配置属性、常规,然后右边有个“项目默认值”,下面有个MFC的使用,选择“在共享 DLL 中使用 MFC”,就OK了~~~

 

确实如此,可是知其然却不知其所以然,于是我把MFC的DLL相关内容学习了一下,小结如下:

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

   1.使用标准Windows库

 

   2.在共享DLL中使用MFC

 

   3.在静态库中使用MFC

 

   第一种顾名思义。第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件。第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行。

 

   同时,如果程序本来是第二种方式,发给同事,在同事机器上运行时,可能会出现错误:

 

   “无法启动程序……,由于应用程序配置不正确,未能启动此应用程序。”

 

   我觉得,在开发阶段的程序都选第3种比较好吧,不用管。

 

看了上面说的,我就准备改成静态库中使用MFC,经过我修改以后发现有一点问题:general error c101008a: Failed to save the updated manifest to the file "...解决方案也列如下:

 

不能保存更新的文件,就是以前残留的文件没有删除,即:要删除Debug文件夹(这个问题以前已经讨论过了,有些错误必须这样做)

 

解决方法:2种方法:

 

第1种方法.手动删除Debug,注:在VS2008有2个Debug,2个都要删

 

第2种方法:自动删除:在VC++6.0编译器下,build--->Clean,而在VS2008下,build--->clean solution

转载地址:http://dqosi.baihongyu.com/

你可能感兴趣的文章
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>