J'essaie d'utiliser GLEW et XServer/X11 dans une application C++ comme indiqué dans le chapitre 15 de la publication OpenGL Superbible, 5e éd.
J'utilise ce Makefile:
LIBDIRS = -L/usr/X11R6/lib -L/usr/X11R6/lib64 -L/usr/local/lib
INCDIRS = -I/usr/include -L/usr/include
CC = g++
CFLAGS = $(COMPILERFLAGS) -g $(INCDIRS)
LIBS = -lX11 -lXi -lXmu -lm -lGLEW -lGLU -lGL
GLXBasics: GLXBasics.o
$(CC) $(CFLAGS) -o GLXBasics $(LIBDIRS) GLXBasics.cpp $(LIBS)
clean:
rm -f *.o
et obtenir ce résultat:
GLXBasics.cpp:4:18: fatal error: glew.h: No such file or directory
[EDIT:] Après avoir corrigé une erreur de code stupide, j'ai maintenant des problèmes avec X11 et mes problèmes avec GLEW sont historiques.
/usr/bin/ld: cannot find -lXi
/usr/bin/ld: cannot find -lXmu
[/MODIFIER]
Si je commente l'inclusion de glew.h
, l'échec de l'inclusion de glxew.h
.
J'ai copié et collé Sudo glew.h
et glxew.h
dans /usr/include/GL
. (Quel est l'endroit où je pense qu'ils sont censés être?)
Pardonnez-moi au cas où j'aurais oublié d'inclure quelque chose dans ma question - tout ce que vous aimeriez savoir ou voir depuis mon terminal suffit de demander.
GLXBasics.cpp:4:18: fatal error: glew.h: No such file or directory
Je suppose que vous avez une ligne avec quelque chose comme la ligne ci-dessous?
#include <glew.h>
Changer cela en
#include <GL/glew.h>
Cela est nécessaire, car vous l'avez copié dans le sous-répertoire GL/
des chemins de recherche spécifiés dans votre INCDIRS
.
J'ai copié et collé Sudo
glew.h
etglxew.h
dans/usr/include/GL
Je recommanderais d'utiliser /usr/local/include/GL
car cela éviterait les conflits avec les paquets Ubuntu.
J'ai maintenant des problèmes avec X11 et mes problèmes avec GLEW sont historiques.
/usr/bin/ld: cannot find -lXi /usr/bin/ld: cannot find -lXmu
parce qu'ils sont dans
/usr/local/include
?
Cette erreur concerne les bibliothèques (fichiers binaires) et non les en-têtes. Si vous les installez manuellement, vous devez les placer dans /usr/local/lib
au lieu de include/
(pour les fichiers d’en-tête). Ou peut-être manquez-vous simplement les packages de développement X ici? Veuillez poser cette question dans une nouvelle question si cela n'a rien à voir avec vos fichiers d'en-tête.
N'oubliez pas de mettre à jour vos INCDIR
et LIBDIR
pour inclure les nouveaux répertoires /usr/local/include
, par exemple:
INCDIRS = -I/usr/include -L/usr/include -I/usr/local/include -L/usr/local/include