GNU/Linux >> Tutoriales Linux >  >> Linux

'SDL.h no se encontró tal archivo o directorio' al compilar

La mayoría de las veces SDL está en /usr/include/SDL . Si es así, entonces su #include <SDL.h> la directiva es incorrecta, debería ser #include <SDL/SDL.h> .

Una alternativa para eso es agregar el /usr/include/SDL directorio a sus directorios de inclusión. Para hacer eso, debe agregar -I/usr/include/SDL a las banderas del compilador...

Si está utilizando un IDE, esto también debería ser bastante fácil...


Si el archivo de encabezado es /usr/include/sdl/SDL.h y tu código tiene:

#include "SDL.h"

Necesita corregir su código:

#include "sdl/SDL.h"

O dígale al preprocesador dónde encontrar los archivos de inclusión:

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

el archivo de encabezado vive en

/usr/include/SDL/SDL.h

       __OR__

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

en su código C++, extraiga este encabezado usando

#include <SDL.h>

       __OR__

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

tienes el uso correcto de

sdl-config --cflags --libs

       __OR__

sdl2-config --cflags --libs   #  sdl2

que te 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 veces también puede ver este uso que funciona para una instalación estándar

pkg-config --cflags --libs sdl

       __OR__

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

que te proporciona

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

       __OR__

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

Para Simple Direct Media Layer 2 (SDL2), después de instalarlo en Ubuntu 16.04 a través de:

sudo apt-get install libsdl2-dev

Usé el encabezado:

#include <SDL2/SDL.h>  

y el comando del enlazador del compilador:

-lSDL2main -lSDL2 

Además, es posible que también desee instalar:

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

Con estos encabezados:

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

y los comandos del enlazador del compilador:

-lSDL2_image 
-lSDL2_ttf 
-lSDL2_mixer

Linux
  1. ¿Hacer referencia a un archivo en el mismo directorio de un script encontrado en $ruta?

  2. Mkdir:No se puede crear un directorio:¿No existe tal archivo o directorio?

  3. Error:Tcl.h no encontrado (no existe tal archivo o directorio)?

  4. Shopt:No encontrado [No existe tal archivo o directorio]

  5. Exclusión de directorio al crear un archivo .tar.gz

Solucione el error fatal openssl err.h:no existe tal archivo o directorio [OpenCA]

Python:no existe tal archivo o directorio, ¡pero puedo verlo!?

No existe tal error de archivo o directorio al ejecutar un binario

Bash:¿No existe tal archivo o directorio?

Error fatal:cuda.h:No existe tal archivo o directorio

conda source deactivate :bash:deactivate:No existe tal archivo o directorio