Wie fügt man die benötigte C-Bibliothek mit gcc ein?

Lesezeit: 2 Minuten

Benutzer-Avatar
mehrholle

Ich versuche, das einfache C-Beispiel daraus zu kompilieren Lernprogramm unter Ubuntu mit gcc. Was muss ich als Argument für gcc verwenden, um die benötigten Bibliotheken einzuschließen? #include <libappindicator/app-indicator.h>?

Benutzer-Avatar
Kristofer

-I<search path to include files>
-L<search path to the lib file>
-l<libname>

  • Dies sollte die gewählte Antwort sein

    – Debüt

    22. Dezember 2017 um 8:52 Uhr

  • in der Tat @debuti … außerdem scheint man das Leerzeichen zwischen den weglassen zu können I oder L und die searchpathund füge alles zusammen wie: -I<searchpath to include files>

    – DarkCygnus

    4. Juli 2018 um 21:07 Uhr


Benutzer-Avatar
Vijay Mathew

Verwenden Sie die -l Befehlszeilenoption. Sie können den Suchpfad der Bibliothek mit angeben -L Möglichkeit. Z.B:

gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c

Dies wird verknüpft myprogram mit der statischen Bibliothek libfoo.a im Ordner /home/me/foo/lib.

Was ich mache ist:

pkg-config --list-all | grep indicator

gcc example.c -o example  `pkg-config --cflags --libs appindicator-0.1`

pkg-config holt die erforderlichen include- und lib-Flags für libappindicator und seine Abhängigkeiten. Dies setzt voraus libappindictaor-dev Paket ist bereits installiert.

Benutzer-Avatar
Quantenmechanik

Wenn Sie verwendet haben apt-get, Synaptic Package Manageretc. um die zu bekommen appindicator Bibliothek (im Gegensatz zum Erstellen aus dem Quellcode), haben Sie nur die libappindicator1 Paket oder hast du Auch Installieren libappindicator-dev um das zu bekommen libappindicator Header-Dateien? Linux-Pakete haben sehr oft die Laufzeitbibliotheken von den Kompilierzeit-Headern getrennt. Auf diese Weise müssen Personen, die die Bibliotheken nur benötigen, um einen dynamischen Link zu erfüllen, keine unnötigen Header installieren. Da Sie jedoch Entwicklung betreiben, benötigen Sie diese Header und daher die libappindicator-dev Paket auch.

  • Ich habe das Paket libappindictaor-dev hinzugefügt. Was muss ich mit gcc als -l Argument verwenden?

    – Mehrloch

    16. Mai 2011 um 11:52 Uhr

  • Entsprechend packages.ubuntu.com/hu/natty/i386/libappindicator-dev/filelist Sie müssen verwenden -I/usr/include/libappindicator-0.1/libappindicator

    – Quantenmechanik

    16. Mai 2011 um 12:39 Uhr

Benutzer-Avatar
manugupt1

Was Sie hier versuchen, ist das Erstellen einer GTK-App. Die obigen Lösungen sind überall anwendbar, z. B. mit der Option -l und der Option -I.

Für GTK-Apps können Sie jedoch auch pkg-config verwenden, was es einfacher macht, da Ihre Pfade vordefiniert werden können

http://www.freedesktop.org/wiki/Software/pkg-config

Ein interessantes Beispiel finden Sie hier
http://developer.gnome.org/gtk/2.24/gtk-compiling.html

  • Ich habe das Paket libappindictaor-dev hinzugefügt. Was muss ich mit gcc als -l Argument verwenden?

    – Mehrloch

    16. Mai 2011 um 11:52 Uhr

  • Entsprechend packages.ubuntu.com/hu/natty/i386/libappindicator-dev/filelist Sie müssen verwenden -I/usr/include/libappindicator-0.1/libappindicator

    – Quantenmechanik

    16. Mai 2011 um 12:39 Uhr

1345170cookie-checkWie fügt man die benötigte C-Bibliothek mit gcc ein?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy