VS2008中去掉msvcr90.dll的依赖

发表评论669次阅读2010.03.06 14:41 作者:Felicia 编辑

[阅读更多]

问题是这样的:

用VS2008建了一个C++的Empty project,手动把Configuration Type改成DLL,选择Use Standard Windows Libraries。理论上生成的DLL应该是不依赖MFC的库的,但是编译通过后,在命令行下输入

dumpbin observer.dll /imports

发现引入了msvcr90.dll(如果是Debug版本,应该是msvcr90d.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. 编译

这时候再用dumpbin查看引入库,就没有msvcr90.dll了。

标签, | 日志分类:MSVCRT