驱动开发编译错误

mmaste99 2014-05-04 09:15:33
开发环境: vs2010 NT式的驱动程序
本人在开发驱动程序,编译时出现如下错误:


1>------ 已启动全部重新生成: 项目: genprintyugao2, 配置: Debug Win32 ------
1>生成启动时间为 2014-5-4 8:57:53。
1>_PrepareForClean:
1> 正在删除文件“Debug\genprintyugao2.lastbuildstate”。
1>InitializeBuildStatus:
1> 正在对“Debug\genprintyugao2.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> winprint.cpp
1>e:\driverprogram\genprintyugao2\genprintyugao2\local.h(15): error C2371: “NTSTATUS_VisualDDK_Helper_t”: 重定义;不同的基类型
1> e:\driverprogram\genprintyugao2\genprintyugao2\VisualDDKHelpers.h(17) : 参见“NTSTATUS_VisualDDK_Helper_t”的声明
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C2146: 语法错误: 缺少“;”(在标识符“PCRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION_DEBUG”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C2146: 语法错误: 缺少“;”(在标识符“PCRITICAL_SECTION_DEBUG”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C2146: 语法错误: 缺少“;”(在标识符“SRWLOCK”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(410): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): error C2146: 语法错误: 缺少“)”(在标识符“SRWLock”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): error C2182: “InitializeSRWLock”: 非法使用“void”类型
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(419): error C2491: “InitializeSRWLock”: 不允许 dllimport 数据 的定义
ATUS_VisualDDK_Helper_t”: 重定义;不同的基类型
1> e:\driverprogram\genprintyugao2\genprintyugao2\VisualDDKHelpers.h(17) : 参见“NTSTATUS_VisualDDK_Helper_t”的声明
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(318): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C2146: 语法错误: 缺少“;”(在标识符“PCRITICAL_SECTION”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(319): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C2146: 语法错误: 缺少“;”(在标识符“CRITICAL_SECTION_DEBUG”的前面)
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(322): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(323): error C2146: 语法错误: 缺少“;”(在标识符

。。。。。。。。。。。。。。
。。。。。。。。。。。。。。
。此处省略很多行。。。。。。
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。


1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(11115): error C2061: 语法错误: 标识符“AUDIT_EVENT_TYPE”
1>C:\WINDDK\7600.16385.1\inc\api\winbase.h(11115): fatal error C1003: 错误计数超过 100;正在停止编译
1> 正在生成代码...
1>
1>生成失败。
1>
1>已用时间 00:00:02.42
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========



请各位帮忙看下,上面的报错怎么解决?
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我也感觉不是代码的问题,自己集成的环境的话,总会有没注意到的地方没配置好。 不嫌麻烦的话还是用VS2012+WDK8.0吧 不在乎IDE界面的话可以使用WDK7,就不要再往VS里面集成了,用个文本编辑工具(UE NOTEPAD++等)编好程序再用WDK编译吧
小小爬虾 2014-05-04
  • 打赏
  • 举报
回复
看来VS2010还真是问题多,我用的是VC6.0+WDK。估计你的问题还是编译环境设置问题,代码应该问题不大。
mmaste99 2014-05-04
  • 打赏
  • 举报
回复
引用 1 楼 kxltsuperr 的回复:
看来VS2010还真是问题多,我用的是VC6.0+WDK。估计你的问题还是编译环境设置问题,代码应该问题不大。
个人觉得也是。但是,环境配置了很久了,还是报不同的错误。真实头疼啊!
mmaste99 2014-05-04
  • 打赏
  • 举报
回复
引用 2 楼 pengxiao618 的回复:
我也感觉不是代码的问题,自己集成的环境的话,总会有没注意到的地方没配置好。 不嫌麻烦的话还是用VS2012+WDK8.0吧 不在乎IDE界面的话可以使用WDK7,就不要再往VS里面集成了,用个文本编辑工具(UE NOTEPAD++等)编好程序再用WDK编译吧
谢谢!

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧