Ich versuche, das einfache C-Beispiel aus zu kompilieren dieses Tutorial an Ubuntu mit GCC. Was muss ich als Argumente für GCC verwenden, um die erforderlichen Bibliotheken einzuschließen? #include <libappindicator/app-indicator.h>
?
Wie kann ich eine benötigte C-Bibliothek mit GCC einbinden?
mehrholle
Kristofer
-I<search path to include files>
-L<search path to the lib file>
-l<libname>
-
in der Tat @debuti … außerdem scheint man das Leerzeichen zwischen den weglassen zu können
I
oderL
und diesearchpath
und füge alles zusammen wie:-I<searchpath to include files>
– DarkCygnus
4. Juli 2018 um 21:07 Uhr
-
Das beantwortet die Frage nicht, sondern bringt nur die (unvollständige) Dokumentation wieder zum Vorschein. Eine richtige Antwort wäre zumindest möglich Regeln der Namensgebung verwendet, um das eigentliche Argument abzuleiten. Was soll das eigentliche Argument sein?
-llibappindicator
?-lappindicator
? Etwas anderes?– Peter Mortensen
2. November um 22:31 Uhr
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
.
-
Das beantwortet die Frage nicht, sondern bringt nur die (unvollständige) Dokumentation wieder zum Vorschein. Eine richtige Antwort wäre zumindest möglich Regeln der Namensgebung verwendet, um das eigentliche Argument abzuleiten. Was soll das eigentliche Argument sein?
-llibappindicator
?-lappindicator
? Etwas anderes?– Peter Mortensen
2. November um 22:34 Uhr
Quantenmechanik
Wenn Sie verwendet haben apt-get
, Synaptic Package Manager
etc. 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
Hytromo
Was ich mache ist:
pkg-config --list-all | grep indicator
Lijo
Verwenden:
gcc example.c -o example `pkg-config --cflags --libs appindicator-0.1`
pkg-config holt die erforderlichen Include- und Bibliotheks-Flags für libappindicator
und seine Abhängigkeiten. Dies setzt voraus libappindictaor-dev
Paket ist bereits installiert.
-
Was soll bei diesem Befehlszeilenaufruf passieren? Wie funktionieren diese Backticklies? Gibt es einen Austausch mit Standardeingabe und Standardausgabe? Oder nicht? Warum ist das im Allgemeinen notwendig? Bitte antworten Sie, indem Sie Ihre Antwort bearbeiten (ändern), nicht hier in den Kommentaren (**** ohne **** “Bearbeiten:”, “Aktualisieren:” oder ähnliches – die Antwort sollte so aussehen, als wäre sie heute geschrieben).
– Peter Mortensen
2. November um 23:03 Uhr
Peter Mortensen
Sie versuchen, eine zu machen GTK app, und die vorherigen Lösungen sind so überall anwendbar wie die Verwendung der -l Möglichkeit und -ICH Möglichkeit,
Für GTK-Anwendungen können Sie jedoch auch verwenden pkg-config was es einfacher macht, da Ihre Pfade vordefiniert werden können.
Ein interessantes Beispiel findet sich in
http://developer.gnome.org/gtk/2.24/gtk-compiling.html
-
Was soll bei diesem Befehlszeilenaufruf passieren? Wie funktionieren diese Backticklies? Gibt es einen Austausch mit Standardeingabe und Standardausgabe? Oder nicht? Warum ist das im Allgemeinen notwendig? Bitte antworten Sie, indem Sie Ihre Antwort bearbeiten (ändern), nicht hier in den Kommentaren (**** ohne **** “Bearbeiten:”, “Aktualisieren:” oder ähnliches – die Antwort sollte so aussehen, als wäre sie heute geschrieben).
– Peter Mortensen
2. November um 23:03 Uhr
Verwandt: Was bedeutet -lm in GCC?, Warum müssen Sie die Mathematikbibliothek in C verknüpfen?und GCC -lm -lz -lrt Optionen – worum geht es?
– Peter Mortensen
2. November um 23:08 Uhr