Salut à tous :)
Finalement il suffisait de rajouter -lglut à la ligne de compilation
J'ai le problème référence indéfini lorsque je compile
J'ai installer freeglut3-dev donc normalement je suis capable de faire fonctionner ce code (enfin je crois) :
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
#include <GL/freeglut.h>
#include <GL/glx.h>
#include <GL/gl.h>
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(1024, 768);
glutInitWindowPosition(100, 100);
glutCreateWindow("Tutorial 01");
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glutMainLoop();
return 0;
}
comme commande de compilation je fais : gcc main.c -o test `pkg-config --libs gl`
d'ailleurs la commande pkg-config ne me donne que '-lGL' pas '-lGLU'
les références évidentes qui ne fonctionne pas :
/usr/bin/ld : /tmp/cclJzyTo.o : dans la fonction « main » :
main.c:(.text+0x22) : référence indéfinie vers « glutInit »
/usr/bin/ld : main.c:(.text+0x2c) : référence indéfinie vers « glutInitDisplayMode »
/usr/bin/ld : main.c:(.text+0x3b) : référence indéfinie vers « glutInitWindowSize »
/usr/bin/ld : main.c:(.text+0x4a) : référence indéfinie vers « glutInitWindowPosition »
/usr/bin/ld : main.c:(.text+0x56) : référence indéfinie vers « glutCreateWindow »
/usr/bin/ld : main.c:(.text+0x70) : référence indéfinie vers « glutMainLoop »
Est-ce que ça vient du fait que je n'ai pas la librairie appropriée à mon édition de liens ?
Ça me paraît bizarre vu que j'ai freeglut3-dev…
Merci d'avance :D
# .
Posté par elvis70 . Évalué à 1.
Ajoute -lglut
# c'était si simple...
Posté par Amiralgaby . Évalué à 2.
faut vraiment que je lise les documentations,
Merci pour cette aide qui n'a pas pris trop de temps xD
Amiralgaby#1847
[^] # Re: c'était si simple...
Posté par elvis70 . Évalué à 1.
Ajouter -lglut après un pkg-config ne me semble pas propre pour tout te dire. Tu n'as pas à t'excuser. D'ailleurs, la doc officielle semble recommender -lGL -lGLU -lglut .
[^] # Re: c'était si simple...
Posté par mrlem (site web personnel) . Évalué à 3. Dernière modification le 15 août 2020 à 17:34.
Ce n'est pas propre, mais c'est hélas requis car freeglut3-dev ne fourni pas de fichier .pc, requis pour pkg-config.
Sinon, pour également pouvoir utiliser les fonctions en glu*, au lieu de faire :
pkg-config --libs gl
on peut faire :
pkg-config --libs glu
… qui génère le -lGL -lGLU mentionné. (ça sert notamment pour certaines fonctions bien pratiques genre gluLookAt, dans mon souvenir)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.