J'essaie d'écrire un programme plutôt trivial en utilisant open gl sur Linux, mais à la compilation, il est écrit:
Compiler le pouce: egl <= cuberenderer.c Dans le fichier inclus à partir de /path/include/egl.h:36, à partir de /path/cuberenderer.c:7: /path/include/eglplatform.h:89:22: error: X11 /Xlib.h: Aucun fichier ou répertoire de ce type /path/include/eglplatform.h:90:23: erreur: X11/Xutil.h: Aucun fichier ou répertoire de ce type
Je suis totalement nouveau chez GL) et je ne sais pas ce qui ne va pas.
Une recherche rapide en utilisant ...
apt search Xlib.h
Active le paquet libx11-dev mais vous ne devriez pas en avoir besoin pour la programmation OpenGL pure. Quel tutoriel utilisez-vous?
Vous pouvez ajouter Xlib.h à votre système en lançant la commande suivante ...
Sudo apt install libx11-dev
Supposons qu'il utilise le tutoriel de http://www.arcsynthesis.org/gltut/ avec premake4.3 :-)
Sudo apt-get install libx11-dev
................. pourX11/Xlib.h
Sudo apt-get install mesa-common-dev
........ pourGL/glx.h
Sudo apt-get install libglu1-mesa-dev
..... pourGL/glu.h
Sudo apt-get install libxrandr-dev
........... pourX11/extensions/Xrandr.h
Sudo apt-get install libxi-dev
................... pourX11/extensions/XInput.h
Après quoi, je pourrais construire glsdk_0.4.4 et des exemples sans autre problème.
La réponse d'Andrew White est suffisante pour vous faire bouger. Voici une étape par étape pour les débutants.
Une simple mise en route:
Create test.cpp: (Ceci sera construit et exécuté pour vérifier que tout est bien configuré.)
#include <X11/Xlib.h>
#include <unistd.h>
main()
{
// Open a display.
Display *d = XOpenDisplay(0);
if ( d )
{
// Create the window
Window w = XCreateWindow(d, DefaultRootWindow(d), 0, 0, 200,
100, 0, CopyFromParent, CopyFromParent,
CopyFromParent, 0, 0);
// Show the window
XMapWindow(d, w);
XFlush(d);
// Sleep long enough to see the window.
sleep(10);
}
return 0;
}
Essayez: g++ test.cpp -lX11
S'il se construit à a.out
, essayez de le lancer. Si vous voyez une fenêtre simple dessinée, vous avez les bibliothèques nécessaires et un autre problème racine se prépare.
Si votre réponse est:
test.cpp:1:22: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
vous devez installer les bibliothèques de développement X11. Sudo apt-get install libx11-dev
Recommencez g++ test.cpp -lX11
Si cela fonctionne, vous êtes en or.
Testé à l'aide d'une nouvelle installation de libX11-dev_2% 3a1.5.0-1_i386.deb
Pourquoi ne pas essayer find /usr/include/X11 -name Xlib.h
S'il y a un hit, vous avez Xlib.h
Si ce n'est pas le cas, utilisez Sudo apt-get install libx11-dev
et vous êtes prêt à partir :)