Недавно я играл вокруг с библиотекой SDL и хотел начать использовать libsdl2-image-2.0-0 наряду с SDL. Я пытался получить эту работу с Ubuntu 15.04. Я установил использование пакета
sudo apt-get install libsdl2-image-2.0-0
Установка, казалось, пошла абсолютно прекрасная, но когда я пытаюсь включать библиотеку изображений в свой код C++ с
#include <SDL2/SDL_image.h>
Я получаю ошибку "фатальная ошибка: SDL2/SDL_image.h: Никакой такой файл или каталог" я пошел и посмотрел, где библиотека основы SDL2 была расположена/usr/local/include/SDL2 и так же, как сообщение об ошибке, сказанный SDL_image.h не был там. Я затем пытался выяснить, где библиотека использовала
apt-file search SDL_image.h
Когда я делаю это
libsdl-image1.2-dev: /usr/include/SDL/SDL_image.h
libsdl2-image-dev: /usr/include/SDL2/SDL_image.h
оба обнаруживаются как результаты. Это странно для меня, так как я не устанавливал libsdl2-image-dev. Также, когда я пытаюсь просмотреть/usr/include/SDL2/, папка, даже кажется, не существует, который просто добавляет к моему беспорядку.
Я затем пытался удалить libsdl2-image-dev, таким образом, я мог установить libsdl2-image-2.0-0, но когда я выполняю команду
sudo apt-get remove libsdl2-image-dev
Я добираюсь
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'libsdl2-image-dev' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
и когда я пытаюсь выполнить команду
sudo apt-get install libsdl2-2.0-0
Я заканчиваю тем, что добрался
Reading package lists... Done
Building dependency tree
Reading state information... Done
libsdl2-2.0-0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
Так в основном я не могу расположиться, где эта библиотека и таким образом, я не могу правильно связать ее со своим кодом. Существует ли более надежный способ расположиться, где эта библиотека, и действительно ли там что-то фундаментально, я не понимаю в отношении пользования этими дополнительными библиотеками?
Это странно для меня, так как я не устанавливал libsdl2-image-dev. Также, когда я пытаюсь просмотреть/usr/include/SDL2/, папка, даже кажется, не существует, который просто добавляет к моему беспорядку.
apt-file
ищет содержание доступных пакетов с помощью базы данных, таким образом, это - едва удивление, что это показало пакет, который Вы не установили.
Я затем пытался удалить libsdl2-image-dev, таким образом, я мог установить libsdl2-image-2.0-0
Почему Вы думаете, что необходимо удалить для установки другого, особенно когда Вы уже установили его?
действительно ли там что-то фундаментально, я не понимаю в отношении пользования этими дополнительными библиотеками?
Да. foo
и foo-dev
может сосуществовать. Если Вы будете разработчиком, то Вам, вероятно, будут нужны оба, чтобы быть установленными. foo-dev
часто зависит от foo
, так установка его вызывает foo
быть установленным также. В частности, libsdl2-image-dev
зависит от libsdl2-image-2.0-0
.
В заключение, просто установка -dev
пакет:
sudo apt-get install libsdl2-image-dev