Qu'est-ce qui fournit les en-têtes curses nommés curses.h?

27

J'ai besoin de quelques fichiers d'en-tête, à savoir curses.h pour la programmation basée sur du texte. Dites-moi comment installer ces fichiers d'en-tête.

codeur
la source

Réponses:

54

Vous pouvez installer le package libncurses5-dev via le Centre logiciel ou:

sudo apt-get install libncurses5-dev

Vous pouvez également installer le package en cliquant ici .

Lorsque vous avez besoin d'un fichier ou d'un package et que vous ne le trouvez pas, vous pouvez utiliser certains outils.

1. fichier-apt

Tout d'abord, installez le fichier apt et mettez-le à jour.

sudo apt-get install apt-file
apt-file update

Vous pouvez rechercher avec les fichiers ou packages apt-file nécessaires.

apt-file search curses.h

2. Utilisez packages.ubuntu.com

Allez sur ce lien .

En haut à droite, sélectionnez le contenu du package si vous recherchez un fichier inclus avec un package. Si vous avez besoin d'un package directement, recherchez-le simplement avec son nom en choisissant les noms de package .

cœur magique
la source
pouvez-vous me dire ce que contient le paquet libncurses?
codeur
s'il vous plaît dites-moi comment obtenir gtk.h
codeur
1
@sharik, j'ai modifié ma réponse. La recherche de packages peut être délicate, car lorsque vous recherchez ces fichiers, vous pouvez obtenir de nombreux noms de packages. Vous devez savoir ce que vous recherchez. Vous avez probablement besoin de libgtk2.0-dev ou libgtk-3-dev maintenant. Mais, puisque vous utilisez 11.10, choisissez d'abord libgtk-3-dev one. Si vous avez d'autres questions, modifiez simplement votre question pour l'élargir. Ne demandez pas un par un dans vos commentaires.
heartsmagic
Putain de merde, je ne peux pas croire que je n'ai jamais entendu parler d'apt-file après l'avoir utilisé pendant toutes ces années. Merci pour l'astuce, génial!
xamox
9

Rechercher un package à partir d'un fichier

Modifier: cela ne fonctionne que pour un package installé, il n'est donc pas en mesure de répondre à la question. Mieux est la réponse de Heartmagic

Pour savoir de quel package un fichier fait partie, vous pouvez utiliser

dpkg -S <file name>

Par exemple, dpkg -S curses.hme donne cette sortie:

libncurses5-dev: /usr/include/ncurses.h
libncurses5-dev: /usr/include/curses.h

Rechercher des fichiers dans le package

Modifier: vous devez avoir installé le package pour que cela fonctionne.

Pour obtenir la liste des fichiers fournis par un package, utilisez

 dpkg -L <package name>

Par exemple, dpkg -L libncurses5-devme donne la sortie suivante

/.
/usr
/usr/include
/usr/include/curses.h
/usr/include/cursesapp.h
/usr/include/cursesf.h
/usr/include/cursesm.h
/usr/include/cursesp.h
/usr/include/cursesw.h
/usr/include/cursslk.h
/usr/include/eti.h
/usr/include/etip.h
/usr/include/form.h
/usr/include/menu.h
/usr/include/nc_tparm.h
/usr/include/ncurses_dll.h
/usr/include/panel.h
/usr/include/term.h
/usr/include/term_entry.h
/usr/include/termcap.h
/usr/include/tic.h
/usr/include/unctrl.h
/usr/lib
/usr/lib/libform.a
/usr/lib/libmenu.a
/usr/lib/libncurses++.a
/usr/lib/libncurses.a
/usr/lib/libpanel.a
/usr/lib/libtic.a
/usr/share
/usr/share/doc
/usr/share/doc/libncurses5-dev
/usr/share/doc/libncurses5-dev/copyright
/usr/share/doc/libncurses5-dev/changelog.Debian.gz
/usr/include/ncurses.h
/usr/lib/libncurses.so
/usr/lib/libtic.so
/usr/lib/libform.so
/usr/lib/libmenu.so
/usr/lib/libpanel.so
/usr/lib/libcurses.a
/usr/lib/libtermcap.a
/usr/lib/libtermcap.so
/usr/lib/libcurses.so

Cela inclut également les répertoires.


Rechercher SEULEMENT les fichiers (pas les répertoires) dans le package

Pour obtenir uniquement les fichiers contenus dans le package:

dpkg -L libncurses5-dev | while read file; do if [[ -f $file ]]; then echo ${file}; fi; done

(Description: Obtenez les fichiers fournis et pour chacun, imprimez-les uniquement s'il s'agit d'un fichier.)


Plus d'information

Vous pourriez trouver ce tableau utile. Regardez simplement la première colonne (action) et la troisième colonne (deb) pour avoir un bon aperçu de ce que vous pouvez faire. (sauf si vous êtes curieux bien sûr, alors regardez les autres colonnes.)

Portablejim
la source
Ceci est une bonne info. Mais il y a un petit problème pour cette question. Étant donné que le paquet libncurses5-dev n'est pas installé et qu'il n'y a pas de curses.h sur son système, il ne peut pas utiliser pour trouver le vrai paquet qui fournit cela. Mais, outre que c'est une bonne info.
heartsmagic
@heartsmagic Merci de l'avoir signalé. Je suppose que j'ai enquêté sur Contents-i386, etc. (comme dans mirror.aarnet.edu.au/pub/ubuntu/archive/dists/oneiric ) et a pensé qu'il utiliserait cela, mais en fait ce n'est pas le cas.
Portablejim