# Compilation openGL



## loop (7 Février 2008)

Voilà, je me mets à l'OpenGL sous mac et je ne sais pas très bien ce qui faut faire...
J'ai installer xcode et maintenant il reconnait la bibliothèque "glut.h" mais que faut-il mettre pour compiler :
si je met : gcc <nom_fichier>
il me répond : "Undefined symbols:
  "_glEnd", referenced from:
      _display in ccd4dUKX.o
  "_glMatrixMode", referenced from:
      _reshape in ccd4dUKX.o
  "_glutDisplayFunc", referenced from:
      _main in ccd4dUKX.o
  "_glutIdleFunc", referenced from...."

si je met : gcc <nom_fichier.o> -o <nom_fichier> -lGL -lGLU -lglu (comme sous linux)
il me répond : "ld: library not found for -lGL
collect2: ld returned 1 exit status"

Peut-être me manque-t-il encore une bibliothèque ?


----------



## Didier Guillion (7 Février 2008)

Le mieux est de creer un projet sous XCode, tu as meme des exemples installés avec XCode:
/Developer/Examples/OpenGL/

Cordialement


----------



## ntx (7 Février 2008)

loop a dit:


> si je met : gcc <nom_fichier.o> -o <nom_fichier> -lGL -lGLU -lglu (comme sous linux)
> il me répond : "ld: library not found for -lGL
> collect2: ld returned 1 exit status"
> 
> Peut-être me manque-t-il encore une bibliothèque ?


Avant de se lancer dans l'OpenGL il faudrait peut être commencer par comprendre ce que tu fais quand tu compiles au lieu de copier/coller des lignes de commandes "comme sous Linux" gcc va chercher les librairies dans des répertoires bien précis (en général /usr/lib et /usr/local/lib). Pour d'autres répertoires, il faut ajouter une option "-L<chemin>"
Ensuite comme te l'a conseillé Didier, il est préférable de passer par Xcode tout simplement parce que Mac OSX ne fonctionne pas par défaut avec des librairies dynamiques mais avec des frameworks, en l'occurrence OpenGL.framework qui se trouve dans /System/Library/Frameworks. Tu y trouveras aussi tes librairies si tu tiens à faire "comme sous Linux"


----------



## loop (7 Février 2008)

merci pour les conseils ! j'ai pu voir les exemples.
Par contre, j'ai essayé de faire un projet "Standard Tool" vu que c'est du langage C mais ça ne change rien, au lieu que les messages d'erreurs s'affichent dans le terminal, ils s'affichent dans errors and warnings....
Et puis, je préférerais comprendre comment faire en passant par le terminal car j'ai eu des problèmes précédemment en créant un projet avec Xcode....


----------



## ntx (7 Février 2008)

loop a dit:


> Par contre, j'ai essayé de faire un projet "Standard Tool" vu que c'est du langage C mais ça ne change rien, au lieu que les messages d'erreurs s'affichent dans le terminal, ils s'affichent dans errors and warnings....


Ben oui, Xcode se contente d'appeler gcc, il faut donc aussi lui indiquer où trouver tes librairies pour qu'il puisse générer une commande de compilation correcte. Voir la doc de Xcode.


----------



## loop (7 Février 2008)

Ok j'essaie mais bon la doc en anglais...
Je change le paramètres dans SCM -> Configure SCM for this project
Et dans Build ?


----------



## loop (7 Février 2008)

Non en fait il fallait ajouter les frameworks openGL et GLUT et j'ai ma première fenêtre qui s'affiche...
Merci beaucoup !


----------



## tatouille (7 Février 2008)

loop a dit:


> Voilà, je me mets à l'OpenGL sous mac et je ne sais pas très bien ce qui faut faire...
> J'ai installer xcode et maintenant il reconnait la bibliothèque "glut.h" mais que faut-il mettre pour compiler :
> si je met : gcc <nom_fichier>
> il me répond : "Undefined symbols:
> ...



/usr/lib/libG tab tab gros malin

-framework

un petit cours

>$ open /System/Library/Frameworks/OpenGL.framework/Versions/Current

et puis mdr ce genre d,erreur c est vraiment newbie
essayer de faire du C sans comprendre comment lier une librarie?


----------



## Céroce (8 Février 2008)

Il faut bien débuter un jour, Tatouille. Il a toute sa vie pour comprendre.


----------



## ntx (8 Février 2008)

Céroce a dit:


> Il faut bien débuter un jour, Tatouille. Il a toute sa vie pour comprendre.


Certes mais il faut commencer par le début, et le début c'est pas OpenGL :rateau: Comment veux-tu arriver à quoi que se soit en copiant/collant des lignes auxquelles on ne comprend rien


----------



## tatouille (11 Février 2008)

Céroce a dit:


> Il faut bien débuter un jour, Tatouille. Il a toute sa vie pour comprendre.



on peut facilemment faire un petit program en opengl en debutant,
mais c est quand meme plus facile de savoir analyser des erreurs simples de liens

- je vois ici une mauvaise comprehension de header/ preprocessing
- une incomprehension de manipulation d options basiques d un compilateur

deux notions qui sont rapidemment accessibles avec un peu de travail et qui facilite la suite


----------

