vs2005 编译遇到的问题收集

场景

平时经常遇到一些小问题,过段时间又重复遇到这个问题,但记不起来怎么解决的,所以打算把我遇到的一些问题收集起来,供以后参考。


问题一

描述

这是我在编译release版本时,出现了debug的运行库,编译时会报这警告

MSVCRT.lib(cinitexe.obj) : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突

如果用Dependency工具查看生成的动态库会发现,这个库同时依赖release跟debug的运行库,这最终会出运行错误的:

vs2005 编译遇到的问题收集_第1张图片

解决

这是vc运行库冲突导致,这个警告要重视。一般是因为程序跟依赖库的运行时库不一致导致的。

  • 检查工程属性,点击C/C++ ->代码生成->运行时库,这里是否设置成跟依赖库一致,如我这里是要设置成release的运行库,得设置为:多线程 DLL (/MD)
  • 打开工程属性,进入链接的常规,把显示进度设为/VERBOSE:LIB,如图:

vs2005 编译遇到的问题收集_第2张图片

  • 再次编译的时候,我们能看到vs搜索的路径以及顺序,我们就能知道vs使用的库是不是我们要的,是不是链接错库了,如图:

vs2005 编译遇到的问题收集_第3张图片

问题二

描述

vs2005在安装到windows8后运行报存在兼容性问题,解决打2个补丁

解决

https://social.msdn.microsoft.com/Forums/ro-RO/f21eb013-03ab-446f-b7ac-53116bad6d8a/vs2005win7


你可能感兴趣的:(vs2005,编译遇到的问题收集)