glut.h头文件总是和C++中定义的exit冲突

原创 2007年09月28日 16:49:00
最近移植一个项目sensable的3D设备www.sensable.com, glut.h头文件总是和C++中定义的exit冲突,呵呵网上有人弄了,管用。

redefined exit() glut.h and stdlib.h
-------------------------------------------------------------------------------------------s
http://gallery.chiusir.net/imagine/viewtopic.php?t=345&sid=ab5fbe04a5ee666f34a70579c4c2e89b

GLUT - MS VC++ .NET 2003 header file changes
I was compiling this GLUT-based application by name GLUI, available at http://www.cs.unc.edu/~rademach/glui.

Got some strange compilation errors...



glui_translation.cpp
D:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include/stdlib.h(256) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
D:/programs/glut-3.7.6-bin/GL/glut.h(146) : see declaration of 'exit'





It seems like the header file GL/glut.h ought to be changed as follows.


#if defined(_WIN32)# ifndef GLUT_BUILDING_LIB#if _MSC_VER >= 1200_CRTIMP __declspec(noreturn) void __cdecl exit(int);#else_CRTIMP void __cdecl exit(int);#endif# endif


Courtesy: thread


Apparently from the symbol guards, it seems like the prototype has
changed in VC++ 7.0 + compilers ..


# posted by Karthik Kumar : 1:35 PM
Comments:
sweet! thanks!
# posted by Anonymous : 1:30 AM
Post a Comment




/* CKC Mar2005, Ref to http://akktech.blogspot.com/2004/10/glut-ms-vc-net-2003-header-file.html
#if defined(_WIN32)
# ifndef GLUT_BUILDING_LIB
extern _CRTIMP void __cdecl exit(int);
# endif
#else
*/

//////// CKC Mar2005, Ref to http://akktech.blogspot.com/2004/10/glut-ms-vc-net-2003-header-file.html
#if defined(_WIN32)
#ifndef GLUT_BUILDING_LIB
#if _MSC_VER >= 1200
_CRTIMP __declspec(noreturn) void __cdecl exit(int);
#else
_CRTIMP void __cdecl exit(int);
#endif
#endif
#else
//////

相关文章推荐

【C++】变量定义在.h头文件导致 multiple definition of 的解决方法和根本原因

说明:出现这个错误,请你先检查重复定义的变量是否是定义在了.h头文件中,如果是,请您耐心的看完这篇文章,他会告诉你错误的根本原因。 如果你很着急,不想弄清楚原因,请直接按下面的方法更改: 假设重复...

C/C++:多个.cpp文件包含同一个.h头文件定义方法

本文解决Description Resource Path Location Type multiple definition of `deal_word(std::string)' Myfunc....

linux内核头文件kdev_t.h 宏定义解析

kdev_t.h 宏定义解析 这个header file反正不多,直接原因是——遇到了,就搞定它!                  dev_t 类型的变量定义在linux/typ...

右键快速新建C,C++和.h头文件

  • 2013年07月17日 14:11
  • 508B
  • 下载

C++头文件time.h详解

  • 2011年03月10日 08:35
  • 28KB
  • 下载

C++中,头文件stdlib.h主要包含的函数

包含函数: 1函数名称: calloc 函数原型: void * calloc(unsigned n,unsign size); 函数功能: 分配n个数据项的内存连续空间,每个...

c++ 头文件<cstring>(或者string.h)中的常见函数的实现!

c++ 头文件(或者string.h)中的常见函数的实现!

第五十七篇:VS2015建立一个完整的c++工程:头文件.h 源文件.cpp,自动生成类

菜鸟一枚,之前一直在vs中一个源程序写到底,没有使用C++变成 打开VS2015 ,新建VS win32工程,前面步骤很简单,不再阐述 下面直接开始: 新建一个VC++ win32的程序, 在源文件加...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:glut.h头文件总是和C++中定义的exit冲突
举报原因:
原因补充:

(最多只允许输入30个字)