学C#

导航

统计
公告
 

2010年6月13日

1 出现问题:

1>d:\vs2005\vc\platformsdk\include\winnt.h(222) : error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)

1>d:\vs2005\vc\platformsdk\include\winnt.h(222) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>d:\vs2005\vc\platformsdk\include\winnt.h(5940) : error C2146: 语法错误 : 缺少“;”(在标识符“Buffer”的前面)

1>d:\vs2005\vc\platformsdk\include\winnt.h(5940) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>d:\vs2005\vc\platformsdk\include\winnt.h(5940) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

2 解决方法:

方法1:

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;

在它之前加下:

#define POINTER_64 __ptr64

方法2(可能不成功):

调整include文件夹的顺序来解决问题,platform SDK中的winnt.h

DDK中的,vs自带的winnt.h有多个。 dxsdk 中的这些所用到的winnt.h版本不同。

通过调整IDE 工具-> 选项-> 项目vc++目录;包含文件include 的顺序来解决这类问题

使dxsdk需要的winnt.h所在文件夹在最上面

3 原因:不知道

posted @ 2010-06-13 11:19 显示名称o 阅读(1035) 评论(0) 编辑
 

 

  一直被一个问题所困扰,那就是运行CLR—Windows窗体应用程 序的时候,即使什么代码也不写,直接编译运行也会报错:“error PRJ0003 : 生成 cmd.exe 时出错” 。

  一直在查找资料,看到是因为VS2005的环境变量设置不对,应该如下解决:

solution:

tools=> Options => Projects and Solutions -> VC++ Directories page

then place below rows:

$(SystemRoot)\System32
$(SystemRoot)
$(SystemRoot)\System32\wbem 

  但是我一直没有找到Projects and Solutions ,最后才发现原来是由于“工具”-〉“选项”里的“显示所有设置”没有勾选,只要勾上就会有“项目和解决方案”的选项,在该项目下添加

$(SystemRoot)\System32
$(SystemRoot)
$(SystemRoot)\System32\wbem 

就OK了。

posted @ 2010-06-13 11:18 显示名称o 阅读(115) 评论(0) 编辑