GNU/Linux >> Linux Esercitazione >  >> Linux

'SDL.h file o directory non trovati' durante la compilazione

La maggior parte delle volte SDL è in /usr/include/SDL . Se è così allora il tuo #include <SDL.h> direttiva è sbagliata, dovrebbe essere #include <SDL/SDL.h> .

Un'alternativa è aggiungere il /usr/include/SDL directory alle directory di inclusione. Per farlo devi aggiungere -I/usr/include/SDL ai flag del compilatore...

Se stai usando un IDE anche questo dovrebbe essere abbastanza facile...


Se il file di intestazione è /usr/include/sdl/SDL.h e il tuo codice ha:

#include "SDL.h"

Devi correggere il tuo codice:

#include "sdl/SDL.h"

Oppure indica al preprocessore dove trovare i file include:

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

il file di intestazione si trova in

/usr/include/SDL/SDL.h

       __OR__

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

nel tuo codice c++ inserisci questa intestazione usando

#include <SDL.h>

       __OR__

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

hai l'uso corretto di

sdl-config --cflags --libs

       __OR__

sdl2-config --cflags --libs   #  sdl2

che ti darà

-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

a volte potresti anche vedere questo utilizzo che funziona per un'installazione standard

pkg-config --cflags --libs sdl

       __OR__

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

che ti fornisce

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

       __OR__

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

Per Simple Direct Media Layer 2 (SDL2), dopo averlo installato su Ubuntu 16.04 tramite:

sudo apt-get install libsdl2-dev

Ho usato l'intestazione:

#include <SDL2/SDL.h>  

e il comando linker del compilatore:

-lSDL2main -lSDL2 

Inoltre, potresti anche voler installare:

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

Con queste intestazioni:

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

ei comandi del linker del compilatore:

-lSDL2_image 
-lSDL2_ttf 
-lSDL2_mixer

Linux
  1. Errore:xenstore-read:xs_open:nessun file o directory di questo tipo su DomU [Risolto]

  2. errore fatale openssl/evp.h:nessun file o directory di questo tipo:[Risolto]

  3. Mkdir:Impossibile creare una directory:nessun file o directory di questo tipo?

  4. Nessun errore di file o directory durante l'esecuzione di un file binario

  5. Esclusione della directory durante la creazione di un file .tar.gz

Shopt:Not Found [Nessun file o directory di questo tipo]

mkdir -p fallisce quando la directory esiste

Nessun file o directory di questo tipo limits.h durante l'installazione di Pillow su Alpine Linux

Errore irreversibile:cuda.h:file o directory non presenti

conda source disattiva:bash:disattiva:nessun file o directory di questo tipo

touch:impossibile toccare `foo':File o directory non presenti