Problem with GLEW in neatbean (Cygwin)

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(&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
", glewGetErrorString(err));
//    }
//    fprintf(stdout, "Status: Using GLEW %s
", 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 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(&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
", glewGetErrorString(err));
    }
    fprintf(stdout, "Status: Using GLEW %s
", 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

nobody knows what is this error and why happened!! 5892 Segmentation fault <core dumped> sh “${SHFILE}”
:frowning:

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

yes i think so. i changed my compiler and this time i’m using MinGW instead of Cygwin and it works properly :slight_smile: