GNU/Linux >> Tutoriels Linux >  >> Linux

'SDL.h aucun fichier ou répertoire de ce type n'a été trouvé' lors de la compilation

La plupart du temps, SDL est en /usr/include/SDL . Si oui, alors votre #include <SDL.h> directive est erronée, elle devrait être #include <SDL/SDL.h> .

Une alternative pour cela est d'ajouter le /usr/include/SDL répertoire à vos répertoires d'inclusion. Pour ce faire, vous devez ajouter -I/usr/include/SDL aux flags du compilateur...

Si vous utilisez un IDE, cela devrait être assez facile aussi...


Si le fichier d'en-tête est /usr/include/sdl/SDL.h et votre code a :

#include "SDL.h"

Vous devez soit corriger votre code :

#include "sdl/SDL.h"

Ou indiquez au préprocesseur où trouver les fichiers d'inclusion :

CFLAGS = ... -I/usr/include/sdl ...

le fichier d'en-tête vit à

/usr/include/SDL/SDL.h

       __OR__

/usr/include/SDL2/SDL.h  #  for SDL2

dans votre code c++, insérez cet en-tête à l'aide de

#include <SDL.h>

       __OR__

#include <SDL2/SDL.h>    // for SDL2

vous avez le bon usage de

sdl-config --cflags --libs

       __OR__

sdl2-config --cflags --libs   #  sdl2

qui vous donnera

-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
-L/usr/lib/x86_64-linux-gnu -lSDL

       __OR__

-I/usr/include/SDL2 -D_REENTRANT
-lSDL2

parfois vous pouvez également voir cette utilisation qui fonctionne pour une installation standard

pkg-config --cflags --libs sdl

       __OR__

pkg-config --cflags --libs sdl2   #  sdl2

qui vous fournit

-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -lSDL

       __OR__

-D_REENTRANT -I/usr/include/SDL2 -lSDL2   #  SDL2

Pour Simple Direct Media Layer 2 (SDL2), après l'avoir installé sur Ubuntu 16.04 via :

sudo apt-get install libsdl2-dev

J'ai utilisé l'en-tête :

#include <SDL2/SDL.h>  

et la commande de l'éditeur de liens du compilateur :

-lSDL2main -lSDL2 

De plus, vous pouvez également installer :

apt-get install libsdl2-image-dev  
apt-get install libsdl2-mixer-dev  
apt-get install libsdl2-ttf-dev  

Avec ces en-têtes :

#include <SDL2/SDL_image.h>
#include <SDL2/SDL_ttf.h>
#include <SDL2/SDL_mixer.h>  

et les commandes de l'éditeur de liens du compilateur :

-lSDL2_image 
-lSDL2_ttf 
-lSDL2_mixer

Linux
  1. Erreur :xenstore-read :xs_open :aucun fichier ou répertoire de ce type sur DomU [Résolu]

  2. Python - Aucun fichier ou répertoire de ce type, mais je peux le voir ! ?

  3. Aucune erreur de fichier ou de répertoire de ce type lors de l'exécution d'un binaire

  4. Exclure le répertoire lors de la création d'un fichier .tar.gz

  5. Aucun fichier ou répertoire de ce type ne limite.h lors de l'installation de Pillow sur Alpine Linux

Erreur :Tcl.h introuvable (aucun fichier ou répertoire de ce type) ?

Shopt :introuvable [aucun fichier ou répertoire de ce type]

mkdir -p échoue lorsque le répertoire existe

Bash :Aucun fichier ou répertoire de ce type ?

sys/types.h :aucun fichier ou répertoire de ce type

source conda désactiver :bash :désactiver :aucun fichier ou répertoire de ce type