1. 问题描述
最近遇到一个莫名其妙的bug,上网查找,没有找到正确的解决办法,难道大家都没遇到?于是我说一说自己是怎么解决的。
我用的是VS2010,一个解决方案下,添加了多个他人的项目,各个项目配置都使用了库文件(A.lib),编译,唯独其中一个项目,,出现了如下错误提示:
错误 26 error C2040: “LPCH”:“int”与“int *”的间接寻址级别不同 c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3539
错误 32 error C2059: 语法错误:“)” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3564
错误 37 error C2061: 语法错误: 标识符“LPCH” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 14149
错误 36 error C2061: 语法错误: 标识符“PLONG” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 4990
错误 50 error C2061: 语法错误: 标识符“PLONG” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winreg.h 742
错误 51 error C2061: 语法错误: 标识符“PLONG” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winreg.h 751
错误 1 error C2143: 语法错误 : 缺少“;”(在“*”的前面) c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winnt.h 424
错误 6 error C2143: 语法错误 : 缺少“;”(在“*”的前面) c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winnt.h 489
错误 9 error C2143: 语法错误 : 缺少“;”(在“*”的前面) c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winnt.h 490
错误 24 error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面) c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3539
错误 28 error C2146: 语法错误: 缺少“)”(在标识符“NewEnvironment”的前面) c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3564
错误 52 error C2371: “SHORT”: 重定义;不同的基类型 c:\program files (x86)\microsoftsdks\windows\v7.0a\include\wtypes.h 382
错误 31 error C2440: “初始化”: 无法从“int *”转换为“BOOL” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3564
错误 35 error C2440: “初始化”: 无法从“int *”转换为“BOOL” c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3582
错误 34 error C2491: “FreeEnvironmentStringsA”: 不允许 dllimport数据 的定义 c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3582
错误 30 error C2491: “SetEnvironmentStringsA”: 不允许 dllimport数据 的定义 c:\program files (x86)\microsoftsdks\windows\v7.0a\include\winbase.h 3564
错误 48 error C2665: “InterlockedCompareExchange”: 2 个重载中没有一个可以转换所有参数类型 c:\program files(x86)\microsoft sdks\windows\v7.0a\include\winbase.h 15393
错误 49 error C2665: “InterlockedCompareExchange”: 3 个重载中没有一个可以转换所有参数类型 c:\program files(x86)\microsoft sdks\windows\v7.0a\include\winbase.h 15404
得意时应善待他人,因为你失意时会需要他们