我正在尝试编译其他人的项目,但遇到了大约 850 个与 OpenGL 相关的错误。我在 64 位 Windows 7 上使用 Visual Studio 2008,但该项目是一个 Win32 项目。
如您所见,以下错误来自 gl.h
在 Program Files
下的 Windows SDK 包含文件夹中,不是 Program Files (x86)
所以我猜这是问题的一部分。我已经尝试添加 .NET 2003 包含目录,其中包含 gl.h 并且在 Program Files (x86)
下,但它仍在尝试使用 Program Files
下的 gl.h 版本.
此外,该项目使用 wxWidgets 2.4.2,我找不到 gl.h
的任何实例被包含在解决方案本身中,所以我不确定是什么吸引了它。
更新:仍然无法编译这个。我试图编译的实际项目是“Interactive Digital Photomontage ”工具(链接中的源代码)。它们包括一个 VS2003 项目文件和说明,我仔细遵循了这些说明。我什至尝试在 VS2003 中构建并得到相同的错误。我很好奇是否有人有时间在他们的系统上尝试这个,看看他们是否遇到相同的错误。需要安装 wxWidgets 2.4.2。
有什么想法吗?我在下面包含了一些错误的示例。谢谢。
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2144: syntax error : 'void' should be preceded by ';'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2146: syntax error : missing ';' before identifier 'glAccum'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C2182: 'APIENTRY' : illegal use of type 'void'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1152) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C2144: syntax error : 'void' should be preceded by ';'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include\GL/gl.h(1153) : error C2086: 'int WINGDIAPI' : redefinition
最佳答案
你需要包括“windows.h”
在“gl.h”之前
#include "windows.h"
#include "gl.h"
关于visual-studio-2008 - 获得许多 OpenGL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6222509/