OpenGL en ligne de commande ?

Ascriptel

Membre confirmé
20 Juin 2003
17
0
Bonjour,

Je voudrais m'essayer à la programmation OpenGL, mais plutôt avec des programmes C qu'avec l'Objective C et Xcode d'Apple. Je m'oriente donc vers l'utilisation de la ligne de commande, et là c'est le drame vu que je ne sais pas comment inclure les frameworks OpenGL. Je suppose qu'il faut utiliser l'option -Irépertoire, et j'ai pour ma part utilisé -I/System/Library/Frameworks/OpenGL.framework (et GLUT.framework), mais à l'édition des liens je persiste à avoir le même message d'erreur :

ld: Undefined symbols:
_glBegin
_glClear
_glClearColor
_glColor3f
_glEnd
_glFlush
_glLoadIdentity
_glMatrixModel
_glOrtho
_glVertex3f
_glutCreateWindow
_glutDisplayFunc
_glutInit
_glutInitDisplayMode
_glutInitWindowPosition
_glutInitWindowSize
_glutMainLoop

Quelqu'un pourrait-il m'expliquer comment faire ?

Merci d'avance
 
Ascriptel a dit:
Bonjour,

Je voudrais m'essayer à la programmation OpenGL, mais plutôt avec des programmes C qu'avec l'Objective C et Xcode d'Apple. Je m'oriente donc vers l'utilisation de la ligne de commande, et là c'est le drame vu que je ne sais pas comment inclure les frameworks OpenGL. Je suppose qu'il faut utiliser l'option -Irépertoire, et j'ai pour ma part utilisé -I/System/Library/Frameworks/OpenGL.framework (et GLUT.framework)Quelqu'un pourrait-il m'expliquer comment faire ?

Merci d'avance

Tout est expliqué ici
 
Ascriptel a dit:
Bonjour,

Je voudrais m'essayer à la programmation OpenGL, mais plutôt avec des programmes C qu'avec l'Objective C et Xcode d'Apple. Je m'oriente donc vers l'utilisation de la ligne de commande, et là c'est le drame vu que je ne sais pas comment inclure les frameworks OpenGL. Je suppose qu'il faut utiliser l'option -Irépertoire, et j'ai pour ma part utilisé -I/System/Library/Frameworks/OpenGL.framework (et GLUT.framework), mais à l'édition des liens je persiste à avoir le même message d'erreur :

ld: Undefined symbols:
_glBegin
_glClear
_glClearColor
_glColor3f
_glEnd
_glFlush
_glLoadIdentity
_glMatrixModel
_glOrtho
_glVertex3f
_glutCreateWindow
_glutDisplayFunc
_glutInit
_glutInitDisplayMode
_glutInitWindowPosition
_glutInitWindowSize
_glutMainLoop

Quelqu'un pourrait-il m'expliquer comment faire ?

Merci d'avance
Essaie ceci :

#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <GLUT/glut.h>
void
display(void)
{
********glClear(GL_COLOR_BUFFER_BIT);
********glutSolidSphere(0.5,20,20);
********glFlush();
}

void
init(void)
{
********glClearColor(0.0,0.0,0.0,1.0);
********glMatrixMode(GL_PROJECTION);
********glLoadIdentity();
********glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
}

int
main(int argc, char** argv)
{
********glutInit(&argc, argv);
********glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
********glutInitWindowSize(250,250);
********glutInitWindowPosition(100,100);
********glutCreateWindow("Hello There Circle");
********init();
********glutDisplayFunc(display);
********glutMainLoop();
********return 0;
}


et compile par
cc -framework OpenGL -framework GLUT -framework Foundation -o macGLUT macGLUT.c
 
la recherche se fait dans les repertoires conventionnels

sinon tu peux indiquer ou se trouve le framework

-F/Library/Frameworks -framework MyFramework

tu pourrais faire

cd /Library/Frameworks/MyFramework.framework

ln -s MyFramework libMyFramework.dylib

-L/Library/Frameworks/MyFramework.framework -lMyFramework -I/Library/Frameworks/MyFramework.framework/Headers


:zen:

sinon pour ceux qui ne connaissent pas déjà ceci est une tres bonne idée

http://sourceforge.net/projects/ivm/

cela supporte l'OBj-C ? certains disent que oui mais je n'ai vu aucun bridge

acces OpenGL et ca tourne sous darwin
mais le projet semble etre a l'arret
 
Salut, et tout d'abord merci pour les réponses.


J'ai finalement décidé de partir d'un projet Cocoa sous Xcode, mais je rencontre (encore :( ) un problème : autant pour les projets Cocoa/OpenGL que j'ai trouvé sur http://nehe.gamedev.net/, je n'ai aucun problème et ils tournent parfaitement, autant chaque fois que j'essaie de créer moi-même un nouveau projet sans réutiliser les projets existants ça ne marche pas :confused: ... L'exemple le plus récent est le tutorial OpenGL disponible dans Graphics/OpenGL on MacOSX dans l'aide de Xcode. On tente d'y dessiner un triangle vert. Je fais donc tout ce qui est dit dans le tutorial (en tout cas je crois), et après la compilation j'ai bien une fenêtre avec un contenu noir qui s'affiche, ce qui tend à me faire penser que l'appel à glClear() est effectif, mais rien concernant le triangle vert. J'ai essayé de lui faire changer de position, rien. J'ai essayé de déplacer le système de coordonnées, rien non plus...

Sachant que je peux au moins me baser sur les projets de NeHe, tout ceci n'est donc pas d'une urgence absolue, mais si quelqu'un a déjà rencontré le problème, je serais intéressé de savoir s'il y a une solution...

Merci d'avance