去掉msvcr90的依赖

来源:百度文库 编辑:神马文学网 时间:2024/04/27 17:26:08

去掉msvcr90的依赖

Windows编程   2009-10-14 15:09   阅读46   评论0   字号:    

社保组的项目碰到了一个问题,就是项目中的一个OCX组件在某些机器中总是注册不了: 

这个提示给出了很详细的答案,就是“应用程序配置不正确”。什么是应用程序配置不正确?就是缺少这个OCX控件以及其外部链接的DLL所依赖的相关运行库DLL;一般来说,这种现象出现在用VC2008编译的OCX或其外部链接的DLL工程上。

通过一一查看OCX及其外部链接的DLL项目依赖DLL,果然有一个是由VC2008编译的,它的DLL依赖:


         这个模块的程序员确定他的DLL工程是用VC2008做的,但没有依赖VC2008/MFC的库: 

造成这种现象即“使用标准Windows库”的工程要依赖于msvcr90.dll,是因为这个项目是由VC2008创建,自动有这个依赖关系。

怎么解决呢?很简单,步骤如下:

1、将项目默认值的MFC使用改成“在静态库中使用MFC

         2、编译一下,不成功不要紧。这里就没法成功:

         3、将项目默认值的MFC使用改回去,即“使用标准Windows库”;编译,成功,项目就不再有msvcr90.dll依赖了:

         再次注册,就没问题了: 

         出现这种情况,可以看出项目组的管理挺混乱的,因为工欲善其事,必先利其器,每个开发员的开发工具都不同,就额外增加了系统集成的复杂度。另外,项目组问题反馈的途径很不顺畅。