Bug 10835

Summary: Невозможность использования GLUT при использовании GLEW.
Product: Sisyphus Reporter: serpiph <serpiph>
Component: libglewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact: qa-sisyphus
Severity: normal    
Priority: P2    
Version: unstable   
Hardware: all   
OS: Linux   

Description serpiph 2007-02-14 10:58:38 MSK
Если в программе написать:
#include <GL/glew.h>
#include <GL/glut.h>
то программа не соберётся по причине ошибочного развёртывания при определении
макроса GLUTAPIENTRY. В GL/glut.h он определяется как
#define GLUTAPIENTRY GLAPIENTRY
Но макрос GLAPIENTRY удаляется в GL/glew.h:
#undef GLAPIENTRY
Дополнительное подключение GL/gl.h и GL/glu.h не помогает, так как GL/glew.h в
себе вызывает GL/glu.h, который вызывает GL/gl.h. Решения 2:
1. В программах для ALTLinux принудительно вставлять такой код (пример:
enblend-3.0):
#include <GL/glew.h>
#define GLAPIENTRY
#include <GL/glut.h>
2. Пропатчить GL/glew.h, чтобы он сохранял состояние GLAPIENTRY, полученное
после вызова GL/glu.h:
#include <GL/glu.h>
#define GLAPIENTRY_GL GLAPIENTRY
и вместо
#undef GLAPIENTRY
написать
#undef GLAPIENTRY
#define GLAPIENTRY GLAPIENTRY_GL
Steps to Reproduce:
Программа вида
#include <GL/glew.h>
#include <GL/glut.h>

Actual Results:  
Собирается с ошибкой

Expected Results:  
Сборка нормальная
Comment 1 serpiph 2007-02-14 10:59:39 MSK

*** This bug has been marked as a duplicate of 10836 ***