我已经解决了这个问题(来自here)。只需将其放在此处,以便其他任何遇到错误的人都可以找到更干净的问题和答案,而不必深入研究我从中获得错误的网站。我很快就会自己回答这个问题。
遇到的错误是:
Error 13 error C2086: 'int APIENTRY' : redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GL\gl.h 1153
Error 10 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GL\gl.h 1153
Error 3 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files\Microsoft Visual Studio 10\VC\include\GL\gl.h 1152
解决方案是:[从this website] 获得
您需要将WIN32添加到项目中的定义中。在Visual Studio中,右键单击您的项目,转到C / C ++,“预处理器”,然后在“预处理器定义”字段中添加WIN32,以进行调试和发布配置。在使用它时,还要为调试配置添加_DEBUG,为发布配置添加NDEBUG。由于某种原因,默认的VS项目没有预处理器定义,即使至少应几乎始终使用这些定义...
我的解决方案已经包含了这些预处理器定义。 MSDN建议您还添加#include <windows.h>
我有一段代码在寻找_WIN32,而不是WIN32。
关于它的价值,流行的声音库在包括windows.h之前就使用了它:
#if defined(_WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64)
#include <windows.h>
#endif
我也想添加CMake解决方案。
您应该将/ D“ WIN32”添加到CMAKE_CXX_FLAGS,可以在高级条目中找到。
我最近使用Visual C ++ 2019在一个空项目中遇到了这个问题。
对我有用的是将_WINDOWS定义为预处理指令,而不是WIN32。