Was bietet curses-Header mit dem Namen curses.h?

27

Ich benötige ein paar Header-Dateien, nämlich curses.h für die textbasierte Programmierung. Bitte sagen Sie mir, wie diese Header-Dateien installiert werden sollen.

Kodierer
quelle

Antworten:

54

Sie können das libncurses5-dev- Paket über das Software Center installieren oder:

sudo apt-get install libncurses5-dev

Sie können das Paket auch installieren, indem Sie hier klicken .

Wenn Sie eine Datei oder ein Paket benötigen und nicht finden können, können Sie einige Tools verwenden.

1. Apt-Datei

Zuerst installiere apt-file und aktualisiere es.

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

Sie können mit apt-file nach benötigten Dateien oder Paketen suchen.

apt-file search curses.h

2. Verwenden Sie packages.ubuntu.com

Gehen Sie zu diesem Link .

Wählen Sie oben rechts den Paketinhalt aus, wenn Sie nach einer Datei suchen, die in einem Paket enthalten ist. Wenn Sie ein Paket direkt benötigen, durchsuchen Sie es einfach mit dem Namen und wählen Sie die Paketnamen .

heartsmagic
quelle
Kannst du mir sagen, was das libncurses-Paket enthält?
Kodierer
bitte sag mir, wie ich gtk.h
coder
1
@sharik, ich habe meine Antwort bearbeitet. Das Finden von Paketen kann schwierig sein, da Sie beim Durchsuchen dieser Dateien viele Paketnamen erhalten können. Sie müssen wissen, wonach Sie suchen. Wahrscheinlich benötigen Sie jetzt libgtk2.0-dev oder libgtk-3-dev . Da Sie jedoch 11.10 verwenden, wählen Sie zuerst libgtk-3-dev one. Wenn Sie weitere Fragen haben, bearbeiten Sie Ihre Frage einfach, um sie zu erweitern. Fragen Sie nicht nacheinander in Ihren Kommentaren.
heartsmagic
Heiliger Mist, ich kann nicht glauben, dass ich noch nie von apt-file gehört habe, nachdem ich es all die Jahre benutzt habe. Danke für den Tipp, super!
Xamox
9

Finde das Paket aus der Datei

Bearbeiten: Dies funktioniert nur für ein installiertes Paket, daher kann die Frage nicht beantwortet werden. Besser ist die Antwort von heartmagic

Um herauszufinden, zu welchem ​​Paket eine Datei gehört, können Sie Folgendes verwenden

dpkg -S <file name>

Zum Beispiel dpkg -S curses.hgibt mir diese Ausgabe:

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

Dateien im Paket suchen

Bearbeiten: Sie müssen das Paket installiert haben, damit dies funktioniert.

Verwenden Sie, um die Liste der von einem Paket bereitgestellten Dateien abzurufen

 dpkg -L <package name>

Zum Beispiel dpkg -L libncurses5-devgibt mir die folgende Ausgabe

/.
/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

Dies schließt auch Verzeichnisse ein.


Finde NUR Dateien (keine Verzeichnisse) im Paket

Um nur die Dateien zu erhalten, die das Paket enthält:

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

(Beschreibung: Rufen Sie die bereitgestellten Dateien ab und drucken Sie sie für jede Datei nur, wenn es sich um eine Datei handelt.)


Mehr Informationen

Vielleicht finden Sie diese Tabelle nützlich. Schauen Sie sich einfach die erste Spalte (Aktion) und die dritte Spalte (Deb) an, um einen guten Überblick zu erhalten, was Sie tun können. (es sei denn, Sie sind natürlich neugierig, dann schauen Sie sich die anderen Spalten an.)

Portablejim
quelle
Dies ist eine gute Info. Für diese Frage gibt es jedoch ein kleines Problem. Da das libncurses5-dev-Paket nicht installiert ist und es keine curses.h auf seinem System gibt, kann er das reale Paket, das dies bietet, nicht finden. Aber ansonsten ist das eine gute Info.
heartsmagic
@heartsmagic Danke für den Hinweis. Ich glaube, ich habe Contents-i386 usw. Untersucht. (wie in mirror.aarnet.edu.au/pub/ubuntu/archive/dists/oneiric ) und dachte, dass es das nutzen würde, aber eigentlich nicht.
Portablejim