PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Librarys bei GCC



Fab102
08-04-2002, 20:16
Hallo
Ich hab mir die g2 Graphics Library gedownloadet.
Nun, nehmen wir mal an, ich will mein test.c sourcecode mit gcc kompilieren, was muss ich als Kompiler-Commando eintippen ???
Die G2 Libs und Headers sind in den Verzeichnissen /usr/local/lib und /usr/local/include .
Die Lib heisst libg2.a und die Headers g2.h, g2_PS.h g211.h.
Nehmen wir an test.c benötigt die Libg2.a und g2.h und g2_X11.h .. wie kann ich das alles mit dem Kommando einbinden ???
Muss ich eigentlich gcc mitteilen, wenn ich ne neue Library installiert habe ??

Ulli Ivens
08-04-2002, 21:36
Du musst auf jedenfall mal ein ldconfig ausführen, damit die library auch gefunden wird !! evtl musst du das Verzeichnis in dem sich die library befindet noch in /etc/ld.so.cache eintragen. Zu deinem Compileraufruf kann ich dir nicht helfen !

Christoph
09-04-2002, 12:08
> Du musst auf jedenfall mal ein ldconfig ausführen, damit die
> library auch gefunden wird !! evtl musst du das
> Verzeichnis in dem sich die library befindet noch in
> /etc/ld.so.cache eintragen.
>
Wenn ich die ursprüngliche Frage richtig verstanden habe,
dann liegt die Library NICHT als .so ("Shared Object") sondern
als .a ("Statische Bibliothek") vor.

In dem Fall kommt der dynamische Loader ld nicht ins Spiel.
Es reicht die Compilieroption -I/usr/local/include
und die Linkoptionen -L/usr/local/lib -lg2.

jgbauman
09-04-2002, 12:12
@Ulli: Was Du schreibst gild für shared libraries. libg2.a klingt aber eher nach static library.

@Fab102:

Am anfang von test.c:
#include <g2.h>
#include <g2_X11.h>

und als Befehle:
gcc -I/usr/local/include -c test.c
gcc -L/usr/local/lib test.o -o test -lg2

und test mit ./test starten, damit Du nicht ausversehen /usr/bin/test erwischt ;-)

Mach mal
man gcc
oder
info gcc
Da gibst dann noch mehr zu gcc Optionen.