`

vs2008:无法打开文件kernel32.lib(LNK1104)

阅读更多
【背景描述】
系统环境变化:Vista HomeBasic -> Vista Ultimate(方式:OEM升级)
编译环境变化:vs2005 -> vs2008(方式:卸载后重装)
杀毒软件变化:Kaspersky -> Sophos
升级之后一段时间一直保持着系统还原点,用了一个月看着还稳定,于是就删除了系统还原点。谁知今天在命令行下使用cl编译的时候,竟然提示:fatal error LNK1104: 无法打开文件“kernel32.lib”,所幸在IDE里面运行没有问题。
前些天还可以用cl的,想想有可能的是可恶的Sophos把我的文件删除了,哭。(Sophos竟然没有提示就删除我的文件,这种设置还没得更改,可恨啊!)

【尝试路上】
百度之,有的说库路径问题,有的说直接找个kernel32.lib放在库下面。触目惊心的是经过这些步骤之后,那些出了问题的楼主最后还是得重装系统+重装vs2008,惊!

【问题解决】
Try1)查了一下环境变量的库路径(LIB),Program Files\Microsoft Visual Studio 9.0\VC\lib是在的;查lib目录,果然找不到kernel32.lib文件。
Try2)看到我的SDK路径还是vs2005时候的路径:Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib,已经无效了,而Visual Studio 9.0\VC下没有PlatformSDK目录。
Try3)百度说,vs2008的SDK路径应该是这个:C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib,查了一下,C盘果然有这个瑙鲁。(注意:无论安装目录在哪里,都在C盘)
Try4)在环境变量LIB添加上述SDK目录,cl,成功!

谢天谢地,泪流满面!
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics