Я пытаюсь попрактиковаться в уроке_1 на https://tutorialsplay.com/opengl/2014/04/23/textured-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"
Я пытался принудительно использовать линковку полного пути командой
gcc cube.c -lglut -lGL -lGLU -l/usr/local/include/SDL2
вместо
gcc cube.c -lglut -lGL -lGLU -lSDL
Но все было напрасно ...
Кто-нибудь знает решение этой проблемы связывания?
Как сказал Муру, я изменил текст на captial и получил "error: unknown type name" 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....
Вероятно, Вы уже установили библиотеки, я показываю шаги, но снова по причине полноты.
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