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