5

我已经解决了这个问题(从这里)。只是把它放在这里,这样遇到错误的任何其他人都会找到一个更清晰的问题和答案,而不是必须去挖掘我从哪里得到它的网站。我很快就会自己回答这个问题。

遇到的错误是:

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 
4

5 回答 5

8

解决方法是:[从本网站获得]

您需要将 WIN32 添加到项目中的定义中。在 Visual Studio 中,右键单击您的项目,转到 C/C++、预处理器,然后在预处理器定义字段中为调试和发布配置添加 WIN32。当您使用它时,还要为调试配置添加 _DEBUG 并为发布配置添加 NDEBUG ......
由于某种原因,默认的 VS 项目没有预处理器定义,即使这些,至少,应该几乎总是被使用......

于 2012-04-12T03:33:58.293 回答
4

我的解决方案已经包含那些预处理器定义。MSDN建议你也加#include <windows.h>

于 2013-01-28T20:01:14.707 回答
2

我有一段代码在寻找 _WIN32 而不是 WIN32。

对于它的价值,流行的声音库在包含 windows.h 之前使用它:

#if defined(_WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(_WIN64)
#include <windows.h>
#endif
于 2014-01-02T21:42:25.787 回答
1

我也想添加 CMake 解决方案。

您应该将 /D "WIN32" 添加到 CMAKE_CXX_FLAGS 中,这可以在高级条目中找到。

于 2013-11-06T10:02:09.417 回答
0

我最近在一个使用 Visual C++ 2019 的空项目中遇到了这个问题。

对我有用的是将 _WINDOWS 定义为预处理器指令而不是 WIN32。

于 2019-11-05T06:14:00.987 回答