web-dev-qa-db-fra.com

Problèmes pour trouver l'emplacement du paquet: libsdl2-image-2.0-0

Récemment, j'ai joué avec la bibliothèque SDL et je voulais commencer à utiliser libsdl2-image-2.0-0 avec SDL. J'ai essayé de faire fonctionner cela avec Ubuntu 15.04. J'ai installé le paquet en utilisant

Sudo apt-get install libsdl2-image-2.0-0

L’installation a semblé bien se dérouler, mais lorsque j’essaie d’inclure la bibliothèque d’images dans mon code C++ avec

#include <SDL2/SDL_image.h>

Je reçois le message d'erreur "Erreur irrécupérable: SDL2/SDL_image.h: Aucun fichier ou répertoire de ce type". pas ici. J'ai ensuite essayé de comprendre où la bibliothèque utilisait

apt-file search SDL_image.h

Quand je fais ça

libsdl-image1.2-dev: /usr/include/SDL/SDL_image.h
libsdl2-image-dev: /usr/include/SDL2/SDL_image.h

les deux apparaissent comme des résultats. C'est étrange pour moi puisque je n'ai pas installé libsdl2-image-dev. De même, lorsque j'essaie de voir/usr/include/SDL2 /, le dossier n'apparaît même pas, ce qui ne fait qu'ajouter à ma confusion.

J'ai ensuite essayé de supprimer libsdl2-image-dev pour pouvoir installer libsdl2-image-2.0-0, mais lorsque je lance la commande

Sudo apt-get remove libsdl2-image-dev

Je reçois

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.

et quand j'essaie d'exécuter la commande

Sudo apt-get install libsdl2-2.0-0

Je finis par obtenir

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.

Donc, fondamentalement, je ne peux pas localiser cette bibliothèque et je ne peux donc pas la lier correctement à mon code. Existe-t-il un moyen plus fiable de localiser cette bibliothèque et y a-t-il quelque chose de fondamental que je ne comprends pas en ce qui concerne l'utilisation de ces bibliothèques supplémentaires?

4
A_Sandwich

C'est étrange pour moi puisque je n'ai pas installé libsdl2-image-dev. De même, lorsque j'essaie de voir/usr/include/SDL2 /, le dossier n'existe même pas, ce qui ajoute encore à ma confusion.

apt-file cherche dans une base de données le contenu des paquets disponibles. Il n’ya donc rien de surprenant au fait qu’il affiche un paquet que vous n’avez pas installé.

J'ai ensuite essayé de supprimer libsdl2-image-dev pour installer libsdl2-image-2.0-0.

Pourquoi pensez-vous que vous devez supprimer l'un pour installer l'autre, en particulier lorsque vous l'avez déjà installé?

y a-t-il quelque chose de fondamental que je ne comprends pas en ce qui concerne l'utilisation de ces bibliothèques supplémentaires?

Oui. foo et foo-dev peuvent coexister. Si vous êtes développeur, vous devrez probablement installer les deux. foo-dev dépend souvent de foo; son installation oblige donc foo à être installé. En particulier, libsdl2-image-devdépend delibsdl2-image-2.0-0.


Pour finir, installez simplement le paquetage -dev:

Sudo apt-get install libsdl2-image-dev
3
muru