转载:VS2008中去掉msvcr90.dll的依赖

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

本文转自:http://blog.csdn.net/dzyssssss/article/details/6609086

近日给其他组同事开发了一个控件,使用vs2008作为开发工具,完成后别人注册时居然不成功,经查发现居然是依赖库不全问题。

1、ATL库

2、msvcr90.dll库

对于第一个问题直接在工程中设置静态链接atl库即可解决该问题,但是对于第二个没有想明白怎么弄,难道非得发布msvcr90.dll文件吗,太麻烦了。后来一查居然有人说是vs2008的bug,不知道是不是,不过之总解决了上面依赖的库,不用带那么多"尾巴"了,呵呵。

具体处理过程如下:

1、在Project\Properties\Configuration Properties\Project Defaults\Use of MFC中,选择Use MFC in a Static Library

2、编译,编译不通过没关系(但是我做的库是编译通过了)

3、在Project\Properties\Configuration Properties\Project Defaults\Use of MFC中,选择Use Standard Windows Libraries(就是把设置改回去)

4、再次编译


再使用dependency工具查看,果然不依赖于上面提到的msvcr90.dll了,但是问题是再选择回去后,编译出来的库确实比以前大了不少,具体内部原因多半还得问微软是怎么回事了!

posted on 2011-09-07 10:26  Jacc.Kim 阅读(762)  评论(2)   编辑  收藏  引用 所属分类:  VC / C++

Feedback

#  re: 转载:VS2008中去掉msvcr90.dll的依赖 2012-04-06 14:50  匿名
在使用mfc库的时候编译方式由/md变成了/mt,在设置回去编译方式还是/mt这样编译出来的就自带了运行库,如果保持/md不变怎么改都不行。知其然不知其所以然。   回复   更多评论 
  

#  re: 转载:VS2008中去掉msvcr90.dll的依赖  2014-06-30 09:40  Jacc.Kim
多谢楼上指点。。 
:) 本文我也是转载的。当时遇到这个问题时,用了上面的方法有效,所以就转载下来了。   回复   更多评论 
  
VS2008无法调试,报错MSVCR90.DLL丢失 (非常之郁闷的一个下午,睡完午觉,发现早上搭好的代码没办法调试了。顿时抓狂了下,后来还是想了下早上干过什么。隐隐约约记得把一个MSVCR90.DLL拖到虚拟机去的感觉,然后还改过shared的项目属性,过只是个预编译头开关。) —————— 更新,最近发现这个问题可能是由于我的VS2008出问题,有个项目包含stdlib.h就报丢失MSVCR90.DLL。 ——2012/04/16 —— 阅读详情

相关推荐

VS2008环境下MFC程序所需DLL文件完整部署包

Dependency Walker 是微软提供的一款免费工具,用于分析32位和部分64位Windows可执行文件(EXE)、动态链接库(DLL)、驱动程序(SYS)等二进制模块的依赖结构。它通过读取PE(Portable Executable)格式文件中的导入表(Import Table)和导出表(Export Table),生成可视化的依赖关系图谱,并标识出所有被引用但未找到的模块、函数绑定状态、延迟加载信息等关键数据。

weixin_42588877的博客 978

vs2008运行库

vs2008运行库,vcredist_x86,vcredist_x64,在未安装vs2008的电脑上安装运行库可以使vs2008编译软件运行

msvcr90.dll缺失问题解决方案:x86与x64双平台支持完整包

简单来说,它是的核心实现。当你用Visual Studio 2008编译一个C/C++程序时,除非你选择静态链接(/MT),否则就会依赖这个DLL来完成:内存分配(mallocfree标准输入输出(printfscanf字符串操作(strcpystrlen异常处理(SEH结构化异常)启动初始化(_CRT_INIT\n");// 实际调用来自msvcr90.dllreturn 0;

weixin_35189483的博客 1145

使用vs编译dll依赖的c++程序

文章目录一、问题详情二、解决方案三、原理1. 基本概念(MT、MTd、MD、MDd)2. 静态库/动态库3. 注意事项 一、问题详情   使用 visual studio 完成 C++ 的代码编写后,编译成可执行程序,会遇到编译后,在其他设备上报缺乏dll错误导致程序无法运行的情况,下面先介绍解决方法,再对其原理进行简单描述。 二、解决方案   项目 -> 属性 -> 配置属性 -> C/C+±代码生成 -> 运行库 -> 多线程 (/MT)   截图如下: 三、原理 1.

小爱玄策 2850

“找msvcr90.dll无法启动软件如何解决

运行时错误:在尝试运行某个程序时,如果msvcr90.dll没有正确加载或功能异常,系统可能会弹出一个对话框,指出msvcr90.dll是故障模块,表明该程序因缺少此组件而无法运行。启动错误:应用程序无法正常启动,因为找到必要的dll文件,此时会显示类似于“找msvcr90.dll”或“无法启动,因为msvcr90.dll丢失”的错误消息。软件版本冲突:如果您尝试运行的程序需要特定版本的msvcr90.dll,而系统中的版本与其兼容,则可能会报告找到该文件,即使它实际存在于系统中。

a555333820的博客 3989

打开软件时弹出提示msvcr90.dll文件到无法启动应用解决方法

以上只是通用的运行库dll处理方式,如果你遇到缺失文件是第三方的软件文件,那么就需要下载到属于这个程序所匹配的版本的文件,然后将这个文件复制到这个程序的安装目录下才能解决问题。如果我们遇到关于文件系统使用过程中提示缺少找到的情况,如果文件是属于运行库文件的可以单独下载文件解决,但还是建议安装完整的运行库,可以尝试采用手动下载替换的方法解决问题!文件下载完成后,下方列表会有很多个同版本的文件,这里所有文件都是免费可下载的,我们根据自己所需要的版本文件,点击右边的“打开”,这样就找到了下载的文件

amio551的博客 321

VS2005 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”

1. 添加编译所需要(依赖)的 lib 文件 [解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个 lib 以空格隔开。 (等同于“#pragma comment(lib, "winsock.lib") ”语句) 2. 添加库(Libs)文件目录 方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规

困兽犹斗的专栏 1319

MSVCR90 DLL的错误的一个解决心得

MSVCR90 DLL的错误的一个解决心得

gdruhv的博客 6839

VS2008去掉msvcr90.dll依赖

近日给其他组同事开发了一个控件,使用vs2008作为开发工具,完成后别人注册时居然成功,经查发现居然是依赖全问题。1、ATL库2、msvcr90.dll库对于第一个问题直接在工程中设置静态链接atl库即可解决该问题,但是对于第二个没有想明白怎么弄,难道非得发布msvcr90

dzyssssss的专栏 6978

VS2008无法找到MSVCR90D.dll的问题

问题:在DEBUG模式下,调试时出现“无法找到MSVCR90D.dll…”的问题。 其他症状:在Release模式下就没有问题。 原因:这个是VS2008的一个BUG,由FAT32文件格式引起。 解决办法: 方法一: 英文版:Project Properties -> Manifest Tool-> Use FAT32 Work-around -->Yes 中文版:项目-->项目属性-->配置属性-->清单工具-->使用FAT32解决方法—>是 然后cl

寂竹 3056

转载vs2008debug版找mfc90d.dll

<br />vs2008已经打过sp1补丁,编译C++程序会提示找mfc90.dll文件的错误,但是如果是release版的话就能正常运行<br />csdn看到解决方案,粘贴如下,以备记录。<br />http://topic.csdn.net/u/20081102/15/1aa351d0-4a65-4396-8bd0-41220e38810d.html<br />今天又遇到了同样的问题,在使用多字节配置,DEBUG版时候,经常找MFC90d.dll。找了好多资料,发现是微软的一个BUG,在文件

banditzhi的专栏 1500

VS2008下缺失mfc90u.dll的解决办法

将VC6.0的Dll移植到VS2008时,写了一个Test.exe程序加载Dll,LoadLibrary时出现“找mfc90u.dll”的提示。由于是新安装的VS2008,所以在安装目录“C:\Program Files (x86)\Microsoft VisualStudio 9.0\VC\redist\amd64”下是找得到这些Dll的,且版本为'9.0.21022.8'。查了一下,有

cz493354115的专栏 2038

MSVCR90.DLL的错误的一个解决心得

作 者:朱金灿来源:http://blog.csdn.net/clever101/    今天使用VS2008+sp1编译程序时遇到一个诡异,在Debug模式编译生成debug版本程序,运行该程序出现一个错误对话框,提示: 没有找到MSVCR90.dll,因此这个应用程序未能启动,重新安装应用程序可能会修复此问题     

clever101的专栏 1万+

qt+osg+vs2008中(msvcr90.dll) 处最可能的异常: 0xC0000005的问题解决

 用此法得到了解决。3. 另一个运行时异常, Debug时出现:“Unhandled exception at 0×6c1f4774 (msvcr90.dll) in TestMagick.exe: 0xC0000005: Access violation reading location 0xcccccccc.”同样在官方论坛上找到<a onclick="function onclick

xhcumt的专栏 7623

解决vs2008MFC工程依赖msvcr90.dll的问题

采用mfc做的窗口工程严重依赖mfc的运行库,而mfc的运行库是有同版本依赖的,所以想着做一个win32 sdk的窗口工程,在vs2008里面建立一个空的win32控制台工程,结果编译后发现竟然依赖 msvcr90.dll,这就有点纳闷了,无论怎么修改工程配置,这个依赖始终存在。 后来发现这可能是一个bug,我在工程设置里面 project defaults里面有一个“Use of MFC

lonelyrains的专栏 3870

VS2008 去掉msvcr90依赖

错误提示: VS2008 没有找到MSVCR90.DLL因此这个应用程序未能启动,请重新安装应用程序可能会修复此问题。 解决办法:只需要忽略MSVCRTD.Lib 转载:https://www.cnblogs.com/shadow-lei/archive/2012/12/25/msvcr90%e4%be%9d%e8%b5%96.html...

weixin_30794851的博客 211

计算机中缺失MSVCR110.dll,MSVCP120D.dll等问题解决

在调试vs2015中配置opencv3.1.0时,遇到缺失msvcp120d,dllmsvcr120d.dll文件。网上查找各种方法试,最后终于解决了问题才感觉明了了许多。

我要快、认真和坚守承诺! 1万+

运行VS2008时找MSVCR90D.DLL

MSVCR90D.DLL 电脑蓝屏做了系统恢复之后,运行VS2008 MFC 程序时遇到找MSVCR90D.DLL,让重新安装程序解决,之前都是可以运行的。就尝试重新安装修复,结果失败了。 网上找了下资料,跟着操作了下: https://blog.csdn.net/chenyujing1234/article/details/7382069 https://www.cnblogs.com/ca...

GODOOOO的博客 479

VS2008下LibTomCrypt 1.17的编译和使用

VS2008 LibTomCrypt 1.17

delphiwcdj的专栏 4771
上一篇: 在MFC中从一个线程工作函数中向窗口发送消息(this指针的妙用)
下一篇: 如何看程序源码 ->附链接
chenbindsg
博客等级 码龄18年 6粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值