- Ја почнал/а темата
- #1
staki
Intern
- 26 јуни 2007
- 147
- 3
Imam problemi so kompajliranjeto vo open GL so pomos na dev C++.
Koga prevzemam proekt od kaj kolega mozam da go kompajliram megutoa koga ke promenam 1 parametar ne moze da se kompajlira i mi go dava sledniov problem.
[Linker error] undefined reference to `glutInit'
[Linker error] undefined reference to `glutInitDisplayMode'
[Linker error] undefined reference to `glutInitWindowSize'
i site ostanati funkcii vo main.
kodot e slednit.
Koga prevzemam proekt od kaj kolega mozam da go kompajliram megutoa koga ke promenam 1 parametar ne moze da se kompajlira i mi go dava sledniov problem.
[Linker error] undefined reference to `glutInit'
[Linker error] undefined reference to `glutInitDisplayMode'
[Linker error] undefined reference to `glutInitWindowSize'
i site ostanati funkcii vo main.
kodot e slednit.
Код:
#include <gl/glut.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <math.h>
#include <stdlib.h>
#define red *M_PI/180
int n;
float alfa,beta ,gama,tmpagol,rm,rg;
void display();
static void init()
{
/* set clear color to white */
glClearColor (1.0, 1.0, 1.0, 0.0);
/* set fill color to black */
glColor3f(0.0, 0.0, 0.0);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
// glTranslatef(-0.0f,-0.0f,-5.0f);
gluOrtho2D(-3.0, 3.0, -3.0, 3.0);
glMatrixMode (GL_MODELVIEW);
glViewport(0, 0, 200, 200);
} /* end init */
int main(int argc, char* argv[])
{
if(argc==3)
{
n=atoi(argv[1]);
}
else
{
n=5;
}
glutInit(&argc,argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(600, 400);
glutInitWindowPosition(400,400);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
}
void display()
{
glClear (GL_COLOR_BUFFER_BIT);
n=12;
gama=(2*M_PI)/(7*n);
beta=2*gama;
alfa=3*gama;
tmpagol=0-gama;
rm=0.8;
rg=1;
while(n--)
{
glBegin(GL_LINES);
glVertex2f(rm*cos(tmpagol),rm*sin(tmpagol));
tmpagol+=gama;
glVertex2f(rg*cos(tmpagol),rg*sin(tmpagol));
glVertex2f(rg*cos(tmpagol),rg*sin(tmpagol));
tmpagol+=alfa;
glVertex2f(rg*cos(tmpagol),rg*sin(tmpagol));
glVertex2f(rg*cos(tmpagol),rg*sin(tmpagol));
tmpagol+=gama;
glVertex2f(rm*cos(tmpagol),rm*sin(tmpagol));
glVertex2f(rm*cos(tmpagol),rm*sin(tmpagol));
tmpagol+=beta;
glVertex2f(rm*cos(tmpagol),rm*sin(tmpagol));
glEnd();
glFlush();
}
}