lib richtig einbinden

lawanscha

lawanscha

dada
Hey Leute,
bestimmt ne dumme Frage aber ich frage mich wie man erkennt welche Flag man beim Kompilieren mit angeben muss??

ZB xyssl lib
benötigt g++ test1.cpp -L /usr/lib/libxyssl.a -xyssl
ZB fastcgi
benötigt g++ test2.cpp -L /usr/lib/libfcgi.a -lfcgi

Wo stehen diese Flags??? Muss immer googlen wenn ich irg. welche Libs benutze und nicht kompil. bekomme. Standard. Doku? Nervt einfach, auch wenn ich es imma hin bekomm!

lg wansch
 
Na die Sache ist, es kommt darauf an welche Bibliotheken du in Deinem QCode einbindest.
der -L Flag z.B.: sagt aus das er im StandardLibVerzeichniss suchen soll und mit ldateiname kann du die von Dir eingebundene Bibliothek angeben. Welche Bibliotheken Du benötigst hängt natürlich von Deinem QCode ab und es kann dir natürlich keiner sagen, welche das sind.
 
Aber woher weiss ich das ich "-lfcgi" anhängen muss?? Das ist für mich nicht ersichtlich
 
man gcc
-lfcgi heißt - binde die libfcgi ein - das lib wird automatisch ergänzt.
-L (großes L) sagt, wo die Lib gefunden wird, so nicht im Default-Suchpfad.
Welche lib gebraucht wird - bei eigenen Programmen muß man selber schauen,
bei fremden - siehe README oder INSTALL
 
Aber woher weiss ich das ich "-lfcgi" anhängen muss?? Das ist für mich nicht ersichtlich

IDEs nehmen dir ja genau diese Aufgabe ab.

So, und jetzt heraus mit den echten Programmierern!

"Bäh, eine IDE", "also ich nehm ja immer den vim", "ein echter Mann nimmt keine IDE"........:devil:
 
IDEs nehmen dir ja genau diese Aufgabe ab.

So, und jetzt heraus mit den echten Programmierern!

"Bäh, eine IDE", "also ich nehm ja immer den vim", "ein echter Mann nimmt keine IDE"........:devil:

Echte Maenner nehmen zum Programmieren ein Morsegeraet an der Parallelschnittstelle (wofuer sie den Treiber selbst auf Lochkarten geschrieben haben) die an einer Z3 haengt die, natuerlich selbst erweitert, Plankalkuel fuer das Mailuefterl umsetzt um anschließend in eine Oracle-DB gestopft zu werden.
 
Mahltid,

Aber woher weiss ich das ich "-lfcgi" anhängen muss?? Das ist für mich nicht ersichtlich

Das Problem das der soname einer library nicht zu den Namen passt, den LD beim Aufruf verwendet ist bekannt. Eine ganz Vernünftige Erläuterung findet sich hier:

http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

Der entscheidende Teil:
n addition, there's the name that the compiler uses when requesting a library, (I'll call it the ``linker name''), which is simply the soname without any version number.
und
Every shared library has a special name called the ``soname''. The soname has the prefix ``lib'', the name of the library, the phrase ``.so'' ...
In addition, there's the name that the compiler uses when requesting a library, (I'll call it the ``linker name''), which is simply the soname without any version number.
The key to managing shared libraries is the separation of these names.

Da hilft wohl weiterhin nur die entsprechenden Dokumente die mit den libs daherkommen zu durchforsten. Wird Dir wohl immer mal wieder so gehen :)
 
Zuletzt bearbeitet:

Ähnliche Themen

QT Libs werden nicht gefunden...

Nu kommense ... die blöden Anfängerfragen

Server-Monitoring mit RRDTool

Zurück
Oben