运行OSG自带的示例代码osgrobot时候,出现如下错误:
1> osgrobot.cpp
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1157): error C2144: 语法错误:“void”的前面应有“;”
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1157): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1158): error C2144: 语法错误:“void”的前面应有“;”
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1158): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1158): error C2086: “int WINGDIAPI”: 重定义
1> c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1157): note: 参见“WINGDIAPI”的声明
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1159): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1159): error C2086: “int WINGDIAPI”: 重定义
1> c:\program files (x86)\windows kits\8.1\include\um\gl\gl.h(1157): note: 参见“WINGDIAPI”的声明
......
解决方法:
在所有头文件之前,添加如下代码:
#include <Windows.h>
如下所示:
![1704870-20190722212700262-859055518.jpg](https://i-blog.csdnimg.cn/blog_migrate/89ec7c9de1505fdfb98cd49bd0bc6f9d.jpeg)