我用VS2008,但是编译却提示vc6.0中的头文件出错

时间:2021-04-01 12:41:49
我用VS2008,但是编译却提示vc6.0中的头文件出错

我的电脑上装的vs2008  word2003.
如上图的问题怎么解决?大神求指导

8 个解决方案

#1


偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

#2


@赵4老师  
  是这样的,这个代码是公司以前开发的,我现在负责维护.代码量很大,也没有说明文档之类的东西.代码可以在windows下编译,也可以在linux下编译.目前一直是在linux下编译没有问题.但是我的电脑室window的,因为要拿着代码去别的地方做测试,所以我想在windows下也能编译,过程中遇到这种问题.我的电脑装了word2003,会默认安装microsoft sdks\windows\v6.0a这些东西.我想知道问什么编译的时候会找到这个目录,而不是vs2008默认的目录?

#3


@赵4老师 
编译的时候出现这些错误:
c:\program files\microsoft sdks\windows\v6.0a\include\prsht.h(666) : error C2146: 语法错误 : 缺少“;”(在标识符“hdr”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\prsht.h(666) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\prsht.h(666) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int


为什么不是microsoft visual studio 9.0\找到这个目录呢?

#4


我百度了下问题,有人提示说是和#include windows.h 与winsock2.h的顺序有关,我按照他们说的把windows.h放在最前面或者最后面也不管用.

#5


vs2008 的怎么用 vc6 里的呢,这两版本里的些定义是可能不一样甚至有冲突的,新版本的总会有新的内容或改进甚至是抹掉的东西。

#6


引用 5 楼 zara 的回复:
vs2008 的怎么用 vc6 里的呢,这两版本里的些定义是可能不一样甚至有冲突的,新版本的总会有新的内容或改进甚至是抹掉的东西。


我也很奇怪,我include windows.h 却引用的是c:\program files\microsoft sdks\windows\v6.0a\include\这个目录下的

#7


晕。。。那6.0不是vc是代表windows 6.0就是vista

#8


项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项

#1


偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

#2


@赵4老师  
  是这样的,这个代码是公司以前开发的,我现在负责维护.代码量很大,也没有说明文档之类的东西.代码可以在windows下编译,也可以在linux下编译.目前一直是在linux下编译没有问题.但是我的电脑室window的,因为要拿着代码去别的地方做测试,所以我想在windows下也能编译,过程中遇到这种问题.我的电脑装了word2003,会默认安装microsoft sdks\windows\v6.0a这些东西.我想知道问什么编译的时候会找到这个目录,而不是vs2008默认的目录?

#3


@赵4老师 
编译的时候出现这些错误:
c:\program files\microsoft sdks\windows\v6.0a\include\prsht.h(666) : error C2146: 语法错误 : 缺少“;”(在标识符“hdr”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\prsht.h(666) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\prsht.h(666) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int


为什么不是microsoft visual studio 9.0\找到这个目录呢?

#4


我百度了下问题,有人提示说是和#include windows.h 与winsock2.h的顺序有关,我按照他们说的把windows.h放在最前面或者最后面也不管用.

#5


vs2008 的怎么用 vc6 里的呢,这两版本里的些定义是可能不一样甚至有冲突的,新版本的总会有新的内容或改进甚至是抹掉的东西。

#6


引用 5 楼 zara 的回复:
vs2008 的怎么用 vc6 里的呢,这两版本里的些定义是可能不一样甚至有冲突的,新版本的总会有新的内容或改进甚至是抹掉的东西。


我也很奇怪,我include windows.h 却引用的是c:\program files\microsoft sdks\windows\v6.0a\include\这个目录下的

#7


晕。。。那6.0不是vc是代表windows 6.0就是vista

#8


项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项