Я новичок в OpenGL, и «моя» первая программа - это набивка Серпинского. Я использую Netbeans на своем MacBook Pro и считаю, что у меня установлены библиотеки, но, возможно, они неправильно связаны.
#include <iostream>
#include <stdio.h>
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <GLUT/glut.h>
#include <OpenGL/glext.h>
void myinit(){
glClearColor(1.0,1.0,1.0,1.0);
glColor3f(1.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,50.0,0.0,50.0);
glMatrixMode(GL_MODELVIEW);
}
void display(){
GLfloat vertices[3][2]={{0.0,0.0},{25.0,50.0},{50.0,0.0}};
int i, j, k;
int rand();
GLfloat p[2]={7.5,5.0};
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
for(k=0; k<5000; k++){
j=rand()*3;
p[0]=(p[0]+vertices[j][0])/2.0;
p[1]=(p[1]+vertices[j][1])/2.0;
glVertex2fv(p);
}
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(0,0);
glutCreateWindow("Sierpinski Gasket");
glutDisplayFunc(display);
myinit();
glutMainLoop();
}
Вот ошибки компиляции:
Неопределенные символы для архитектуры x86_64:
"_ glutInit", на который ссылаются:
_main in main.o
"_ glutInitDisplayMode", по ссылке с:
_main in main.o
"_ glutInitWindowSize", на который ссылаются из:
_main in main.o
"_ glutInitWindowPosition", на которую ссылаются из:
_main in main.o
"_ glutCreateWindow", на который ссылаются из:
_main in main.o
"_ glutDisplayFunc", на которые ссылается:
_main in main.o
"_ glutMainLoop", ссылка с:
_main in main.o
ld: символ (ы) не найден для архитектуры x86_64
collect2: ld вернул 1 статус выхода
make [2]: * [dist / Debug / GNU-MacOSX / sierpinski] Ошибка 1
make [1]: * [.build-conf] Ошибка 2
make: * [.build-impl] Ошибка 2