Фатальная ошибка: SDL/SDL.h: нет такого файла или каталога

Я пытаюсь практиковать урок_1 по адресу https://tutorialsplay.com/opengl/2014/04/23/textured-cube/

Когда я запускаю код с именем cube.c, я получил

cube.c:16:21: fatal error: SDL/SDL.h: No such file or directory
 #include <SDL/SDL.h>
                     ^

compilation terminated.

Я установил SDL2 с руководством по адресу https://github.com/PluginIO/EX3/wiki/Setting-up-SDL2-in-Ubuntu-12.10

Я использую 14.04, хотя..

Установка SDL2 прошла успешно. Я не получил никакой ошибки.

Файл SDL.h находится в "/usr/local/include/SDL2"

Я пытался заставить команду fullpath linking использовать

gcc cube.c -lglut -lGL -lGLU -l/usr/local/include/SDL2

вместо

gcc cube.c -lglut -lGL -lGLU -lSDL

Но все были напрасны...

Кто-нибудь знает решение этой проблемы с ссылками?

Как то, что Муру указал, я изменил на captial, я получил "ошибка: неизвестное имя типа 'SDL_keysym'", означающее, что это работает.

Другой способ, которым я обнаружил, был

Я изменился

#include <SDL/SDL.h> 

в

#include <SDL2/SDL.h>

Больше не отображается "фатальная ошибка: SDL/SDL.h: такого файла или каталога нет" Однако я получаю следующие ошибки, которые будут публиковаться в отдельной теме.

cube.c:105:22: error: unknown type name ‘SDL_keysym’
 void handleKeyPress( SDL_keysym *keysym )
                      ^
cube.c: In function ‘main’:
cube.c:239:5: error: unknown type name ‘SDL_VideoInfo’
     const SDL_VideoInfo *videoInfo;
     ^

АБ: Я вставил вывод ваших предложенных команд ниже.

gcc cube.c `pkg-config --cflags --libs sdl`
Package sdl was not found in the pkg-config search path.
Perhaps you should add the directory containing `sdl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sdl' found



gcc cube.c `pkg-config --cflags --libs sdl2`
cube.c:105:22: error: unknown type name ‘SDL_keysym’
 void handleKeyPress( SDL_keysym *keysym )
                      ^
cube.c: In function ‘main’:
cube.c:239:5: error: unknown type name ‘SDL_VideoInfo’
     const SDL_VideoInfo *videoInfo;
     ^
errors continue....

1 ответ

Решение

Вероятно, вы уже установили библиотеки, я покажу шаги, но снова по причине полноты.

  • SDL2

    sudo apt-get install libsdl2-dev
    
  • SDL1

    sudo apt-get install libsdl1.2-dev
    

Начните компиляцию с:

  • SDL2

    gcc cube.c `pkg-config --cflags --libs sdl2`
    
  • SDL1

    gcc cube.c `pkg-config --cflags --libs sdl`
    

Образец вывода:

% pkg-config --cflags --libs sdl               
-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -lSDL

% pkg-config --cflags --libs sdl2
-D_REENTRANT -I/usr/include/SDL2 -lSDL2
Другие вопросы по тегам