蛋疼的Visual Studio2012 驱动模板创建的工程竟然无法编译

其实安装Visual studio2012的一个主要原因就是原生态的驱动开发支持,但是却发现一件很蛋疼的事情。自带的模板创建的项目没办法编译,提示如下的错误:

出错的代码是如下的几行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifdef SMP_ID
#define VER_SAMPLE_IDENTIFIER_STR SMP_ID
#endif
 
#ifndef VER_SAMPLE_IDENTIFIER
#define VER_SAMPLE_IDENTIFIER    "SAMPLE_IDENTIFIER"
#endif
 
#ifdef VER_SAMPLE_IDENTIFIER_STR
resname RCDATA
{
  VER_SAMPLE_IDENTIFIER,
  VER_SAMPLE_IDENTIFIER_STR
}
#endif


这几行不过是一些定义而已,而vs竟然将其解析成了文件,其实问题的关键不在于这里,项目的RC文件代码如下:

1
2
3
4
5
6
7
8
9
10
11
#include <windows .h>
 
#include <ntverp .h>
 
#define VER_FILETYPE    VFT_DRV
#define VER_FILESUBTYPE VFT2_DRV_SYSTEM
#define VER_FILEDESCRIPTION_STR     "FsFilter3 Filter Driver"
#define VER_INTERNALNAME_STR        "FsFilter3.sys"
 
#include "common.ver"
</ntverp></windows>

而上面的错误就是在common.ver文件中的,问题的关键在于程序没有找到rc资源文件中定义的头文件  #include <windows.h>,而更悲剧的是即使添加windows.h所在的文件夹到rc的包含目录中还是会出现错误。于是这个问题就是个彻底的悲剧鸟,话说到现在还是束手无策。不知道有冇银遇到这个问题,如果知道怎么解决还望不吝赐教,目前俺的解决办法是将rc文件清空。

创建的项目是下面这个东东:

到底是安装问题捏,还是别的问题捏。

 

 

 

 

You may also like

10条评论

    1. 不会的啦,哪里有那么夸张。呵呵。只是我们在不同的地方,走在不同的路上。

      1. 我说的是实话,但我还是会常常来看。慢慢我会懂一些的,我想。而且我喜欢质量好的东西。

        1. 很多的时候想写一些技术以外的东西,但是却不知道该从哪里开始。于是刚开始便又放弃了。

  1. 你就是你,说的是外星人的语言,柴米油盐还是留给我们说。我是说真的,就这样挺好的。

  2. 2012英文版本创建Win32Project的时候,工程类型dll,使用mfc,直接编译提示找不到 afx.h。。。。
    安装目录下也找不到这个文件,怎么解决有人知道么?谢谢

  3. 发现我的2012没有装上MFC?工程只能创建atl\clr\general\test\win32….

发表评论

电子邮件地址不会被公开。 必填项已用*标注