用C++编译OpenGL程序出现的exit重定义错误

  以前搞图形,也就是玩玩DirectX的2D部分,现在进了图形学实验室,不得不开始玩3D的东西了。导师让我没事看看OpenGL,于是趁着去南京的机会买了本OpenGL的红宝书(老师给报销,不买白不买 )。看了两天,了解了个梗概,今天打算上机实践下:)从官网Down了书上的源代码,结果连一个最简单的Hello程序居然也会编译错误:
*\Microsoft Visual Studio 8\VC\include\stdlib.h(406) : error C2381: “exit”: 重定义;__declspec(noreturn) 不同
*\OpenGL\GLUT\glut-3.7.6-bin\GL/glut.h(146) : 参见“exit”的声明

  思来想去觉得人家的code应该不会有什么问题,突然印象中好像看过OpenGL和C++有什么不太融合的地方来着,于是上网一搜,发现在include时只要让标准C++类库的头文件位于GLUT图形库头文件之前就行了。
  看了下例程,果真是:
#include <GL/glut.h>
#include <stdlib.h>

  然后改成:
#include <stdlib.h>
#include <GL/glut.h>

  居然就OK了……
  本人C++学得实在是差强人意,而且对系统库知之甚少,所以也搞不清楚为什么会这样。权当一个经验记下来吧,因为以后注定要经常和C++以及OpenGL打交道了……

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: OpenGL C++ 编译错误
相关日志:
评论: 4 | 引用: 738 | 查看次数: 2559
回复回复[2010-06-04 04:09 PM | del]
一样的问题,谢谢啊
回复回复opengl吧[2008-07-16 09:52 PM | del]
程序出现同样的错误 很诡异的exit错误
按你的方法 一改就对了 十分感谢哈!
回复回复123[2008-02-27 01:26 PM | del]
thanks
回复回复瑞芮[2007-05-20 11:55 PM | del]
Bob不是一般的用功啊
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭