PDA

View Full Version : Problem with GLEW in neatbean (Cygwin)



Soheil_sf
10-26-2010, 03:43 AM
hi
this code works properly :


//#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <stdio.h>
#define drawOneLine(x1,y1,x2,y2) glBegin(GL_LINES); \
glVertex2f((x1),(y1)); glVertex2f((x2),(y2)); glEnd();

void init(void) {
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
}

void display(void) {
int i;
glClear(GL_COLOR_BUFFER_BIT);
/* select white for all lines */
glColor3f(1.0, 1.0, 1.0);
/* in 1st row, 3 lines, each with a different stipple */
glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0x0101); /* dotted */
drawOneLine(50.0, 125.0, 150.0, 125.0);
glLineStipple(1, 0x00FF); /* dashed */
drawOneLine(150.0, 125.0, 250.0, 125.0);
glLineStipple(1, 0x1C47); /* dash/dot/dash */
drawOneLine(250.0, 125.0, 350.0, 125.0);
/* in 2nd row, 3 wide lines, each with different stipple */
glLineWidth(5.0);
glLineStipple(1, 0x0101); /* dotted */
drawOneLine(50.0, 100.0, 150.0, 100.0);
glLineStipple(1, 0x00FF); /* dashed */
drawOneLine(150.0, 100.0, 250.0, 100.0);
glLineStipple(1, 0x1C47); /* dash/dot/dash */
drawOneLine(250.0, 100.0, 350.0, 100.0);
glLineWidth(1.0);
/* in 3rd row, 6 lines, with dash/dot/dash stipple */
/* as part of a single connected line strip */
glLineStipple(1, 0x1C47); /* dash/dot/dash */
glBegin(GL_LINE_STRIP);
for (i = 0; i < 7; i++)
glVertex2f(50.0 + ((GLfloat) i * 50.0), 75.0);
glEnd();
/* in 4th row, 6 independent lines with same stipple */
for (i = 0; i < 6; i++) {
drawOneLine(50.0 + ((GLfloat) i * 50.0), 50.0,
50.0 + ((GLfloat) (i + 1) * 50.0), 50.0);
}
/* in 5th row, 1 line, with dash/dot/dash stipple */
/* and a stipple repeat factor of 5 */
glLineStipple(5, 0x1C47); /* dash/dot/dash */
drawOneLine(50.0, 25.0, 350.0, 25.0);
glDisable(GL_LINE_STIPPLE);
glFlush();
}

void reshape(int w, int h) {
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, (GLdouble) w, 0.0, (GLdouble) h);
}

int main(int argc, char** argv) {
glutInit(&amp;argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 150);
glutInitWindowPosition(100, 100);
glutCreateWindow(argv[0]);

// GLenum err = glewInit();
// if (GLEW_OK != err) {
// /* Problem: glewInit failed, something is seriously wrong. */
// fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
// }
// fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));

init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}


but when i want to include GLEW and test , this error appeared in console window : 5892 Segmentation fault <core dumped> sh "${SHFILE}"

but when i set comment some lines of code it worked again , like this :




#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glu.h>
#include <stdio.h>
#define drawOneLine(x1,y1,x2,y2) glBegin(GL_LINES); \
glVertex2f((x1),(y1)); glVertex2f((x2),(y2)); glEnd();

void init(void) {
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
}

void display(void) {
int i;
glClear(GL_COLOR_BUFFER_BIT);
// /* select white for all lines */
// glColor3f(1.0, 1.0, 1.0);
// /* in 1st row, 3 lines, each with a different stipple */
// glEnable(GL_LINE_STIPPLE);
// glLineStipple(1, 0x0101); /* dotted */
// drawOneLine(50.0, 125.0, 150.0, 125.0);
// glLineStipple(1, 0x00FF); /* dashed */
// drawOneLine(150.0, 125.0, 250.0, 125.0);
// glLineStipple(1, 0x1C47); /* dash/dot/dash */
// drawOneLine(250.0, 125.0, 350.0, 125.0);
// /* in 2nd row, 3 wide lines, each with different stipple */
// glLineWidth(5.0);
// glLineStipple(1, 0x0101); /* dotted */
// drawOneLine(50.0, 100.0, 150.0, 100.0);
// glLineStipple(1, 0x00FF); /* dashed */
// drawOneLine(150.0, 100.0, 250.0, 100.0);
// glLineStipple(1, 0x1C47); /* dash/dot/dash */
// drawOneLine(250.0, 100.0, 350.0, 100.0);
// glLineWidth(1.0);
// /* in 3rd row, 6 lines, with dash/dot/dash stipple */
// /* as part of a single connected line strip */
// glLineStipple(1, 0x1C47); /* dash/dot/dash */
// glBegin(GL_LINE_STRIP);
// for (i = 0; i < 7; i++)
// glVertex2f(50.0 + ((GLfloat) i * 50.0), 75.0);
// glEnd();
// /* in 4th row, 6 independent lines with same stipple */
// for (i = 0; i < 6; i++) {
// drawOneLine(50.0 + ((GLfloat) i * 50.0), 50.0,
// 50.0 + ((GLfloat) (i + 1) * 50.0), 50.0);
// }
// /* in 5th row, 1 line, with dash/dot/dash stipple */
// /* and a stipple repeat factor of 5 */
// glLineStipple(5, 0x1C47); /* dash/dot/dash */
// drawOneLine(50.0, 25.0, 350.0, 25.0);
// glDisable(GL_LINE_STIPPLE);
glFlush();
}

void reshape(int w, int h) {
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, (GLdouble) w, 0.0, (GLdouble) h);
}

int main(int argc, char** argv) {
glutInit(&amp;argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 150);
glutInitWindowPosition(100, 100);
glutCreateWindow(argv[0]);

GLenum err = glewInit();
if (GLEW_OK != err) {
/* Problem: glewInit failed, something is seriously wrong. */
fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
}
fprintf(stdout, "Status: Using GLEW %s\n", glewGetString(GLEW_VERSION));

init();
glutDisplayFunc(display);
// glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}


my output with this code is : "Status: Using GLEW 1.5.6"

i cant understand what happened :-S
i'm using Netbenas C++ (Cygwin) in Windows 7
thx

Soheil_sf
10-26-2010, 11:35 PM
nobody knows what is this error and why happened!! 5892 Segmentation fault <core dumped> sh "${SHFILE}"
:-(

Anirban Talukdar
10-27-2010, 04:09 AM
I am able to run both of the samples in Visual Studio 2008. I believe the problem is because of CygWin. In the second case it is displaying a blank screen.

Regards
Anirban

Soheil_sf
10-27-2010, 06:24 AM
yes i think so. i changed my compiler and this time i'm using MinGW instead of Cygwin and it works properly :)