GLUT 退出重新定义错误

发布于 2024-10-12 23:08:30 字数 524 浏览 2 评论 0原文

在我的简单 OpenGL 程序中,我收到有关退出重新定义的以下错误:

1>c:\program files\microsoft visual studio 8\vc\include\stdlib.h(406) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\glut.h(146) : see declaration of 'exit'

我正在使用 Nate Robins 的 GLUT对于 Win32,并在 Visual Studio 2005 或 Visual C++ 2005(Express Edition)中出现此错误。导致此错误的原因是什么以及如何修复它?

In my simple OpenGL program I get the following error about exit redefinition:

1>c:\program files\microsoft visual studio 8\vc\include\stdlib.h(406) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\glut.h(146) : see declaration of 'exit'

I'm using Nate Robins' GLUT for Win32 and get this error with Visual Studio 2005 or Visual C++ 2005 (Express Edition). What is the cause of this error and how do I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤檠 2024-10-19 23:08:30

原因:

最新版本的 Visual Studio 附带的 stdlib.hexit() 函数有不同(且相互冲突)的定义。它与 glut.h 中的定义冲突。

解决方案:

用stdlib.h中的定义覆盖glut.h中的定义。将 stdlib.h 行放在代码中的 glut.h 行上方。

#include <stdlib.h>
#include <GL/glut.h>

Cause:

The stdlib.h which ships with the recent versions of Visual Studio has a different (and conflicting) definition of the exit() function. It clashes with the definition in glut.h.

Solution:

Override the definition in glut.h with that in stdlib.h. Place the stdlib.h line above the glut.h line in your code.

#include <stdlib.h>
#include <GL/glut.h>
乙白 2024-10-19 23:08:30

或者这个...
要修复该错误,请右键单击“解决方案资源管理器”选项卡中的项目名称,然后选择“属性”->“项目名称”。 C/C++->预处理器->预处理器定义并将 GLUT_BUILDING_LIB 附加到现有定义中,并用分号分隔。

or this...
To fix the error, right click on the project name in the Solution Explorer tab and select Properties -> C/C++ -> Preprocessor -> Preprocessor definitions and append GLUT_BUILDING_LIB to the existing definitions, seperated by semicolons.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文