Les symboles non définis pour l'architecture x86_64:“_glutInit”, référencé à partir de:_main en main.o / Netbeans sur Mac
Je suis un débutant avec OpenGL et "mon" premier programme de ce Sierpinski Joint. Im en utilisant Netbeans sur mon MacBook Pro et je crois que j'ai les librairies installées, mais peut-être qu'ils ne sont pas reliés correctement.
#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();
}
Voici les erreurs de compilation:
Les symboles non définis pour l'architecture x86_64:
"_glutInit", référencé à partir de:
_main in main.o
"_glutInitDisplayMode", référencé à partir de:
_main in main.o
"_glutInitWindowSize", référencé à partir de:
_main in main.o
"_glutInitWindowPosition", référencé à partir de:
_main in main.o
"_glutCreateWindow", référencé à partir de:
_main in main.o
"_glutDisplayFunc", référencé à partir de:
_main in main.o
"_glutMainLoop", référencé à partir de:
_main in main.o
ld: symbole(s) ne se trouvent pas pour l'architecture x86_64
collect2: ld a retourné 1 code de sortie
make[2]: * [dist/Debug/GNU-MacOSX/sierpinski] Erreur 1
make[1]: * [.construire-conf] Erreur 2
faire: * [.construire-impl] Erreur 2
OriginalL'auteur Andreu Boada de Atela | 2011-05-08
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de relier la SURABONDANCE cadre. Dans les Propriétés de Projet > Linker > de la Ligne de Commande > Suplementaire Options, spécifiez
Et pour l'erreur similaire avec des fonctions OpenGL ajouter aussi -cadre OpenGL
OriginalL'auteur
Légère correction dans votre code:
et pas
rand() * 3;
. Qui donne seg fault, pour des raisons évidentes.OriginalL'auteur Randhir Singh