读书人

VC6.0代码的移植到VS2008出错,该怎么处

发布时间: 2012-09-21 15:47:26 作者: rapoo

VC6.0代码的移植到VS2008出错
在VC6.0下开发的项目加载到VS2008下出现了很多错误,其中之一:
c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(544) : error C2061: 语法错误 : 标识符“__out_data_source”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(546) : error C2059: 语法错误 : “)”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(546) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(557) : error C2061: 语法错误 : 标识符“__out_data_source”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(559) : error C2059: 语法错误 : “)”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(559) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(740) : error C2061: 语法错误 : 标识符“__out_data_source”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(742) : error C2059: 语法错误 : “)”
1>c:\program files\microsoft sdks\windows\v6.0a\include\winreg.h(742) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
...................................以及:
1>c:\program files\microsoft sdks\windows\v6.0a\include\propidl.h(559) : error C2061: 语法错误 : 标识符“__RPC__in_ecount_full”
1>c:\program files\microsoft sdks\windows\v6.0a\include\propidl.h(560) : error C2059: 语法错误 : “)”
...................................等等;
如上面两种的错误;

如何解决呢?各位高帅富各抒己见呀!

[解决办法]
winreg.h是什么东东
[解决办法]
你把这个winreg.h头文件注释掉,加上include "windows.h"试试
[解决办法]
也可能是文件包含的顺序造成的
[解决办法]
在winreg.h之前包含specstrings.h
[解决办法]
你这里的问题其实就是解决__out_data_source定义的问题
关于propidl.h在其前包含rpcsal.h
[解决办法]
错误多到不正常的好多都是头文件包含的问题
[解决办法]
看看propidl.h是被谁包含的
把rpcsal.h包含在那个文件前面
头文件顺序就是要把定义的东西放到前面
否则就会出现你这里的无定义的问题
[解决办法]
跨度太大,真不如重写。。。

读书人网 >VC/MFC

热点推荐