使用vs2010进行驱动开发的补充
看到前面的一篇文章 ,在这里http://www.cnblogs.com/wubiyu/archive/2010/05/17/1737420.html vs2010配置驱动开发基本上按照如上所说就差不多了, 但是和编程人生的站长聊了聊,也自己试了试,发现还是有点问题
第一,但是这样配置出来的,在windbg联机调试时,是打不开源文件的,我和编程人生的站长找了一晚上,网上也没有明说的,但是后来对比vs2010编译出来的和直接用winddk checked模式编译出来的sys,发现vs2010的sys中缺少pdb信息,从而无法定位源文件,所以在自定义的属性中,链接器(linked)---->调试(debug)中生成调试信息选择是(/debug)就可以了。
第二,这样子生成会出现error MSB3191: 无法创建目录“E:\driver\code\Config\serialfilter\ E:\driver\code\Config\driver”。不支持给定路径的格式。
这个不知道是我们的个人问题还是普遍问题,如果出现这个问题,在链接器(linked)---->常规(general)-->输出文件仔细看会发现 $(OutDir)\$(ProjectName).sys前面有个空格,删掉就好了。
第三,生成exe问题,
E:\软件\系统辅助\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(E:\driver\code\Config\driver\serialfilter.exe) 与 Linker 的 OutputFile 属性值(E:\driver\code\Config\driver\serialfilter.sys)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。 1>E:\软件\系统辅助\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetExt(.exe) 与 Linker 的 OutputFile 属性值(.sys)不匹配。这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。 1>LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/RELEASE”规范)
解决修改通用-->常规-->目标文件扩展名.sys