Libraries selektiv statisch einbinden

Antworten
Nachricht
Autor
Zonk1

Libraries selektiv statisch einbinden

#1 Beitrag von Zonk1 » 27. Mär 2006 14:05

Hi,

ich habe ein Makefile/gcc-Problem: Ich würde in einem Projekt gerne genau eine Library statisch linken, die anderen, ebenfalls noch verwendeten aber nicht. Momentan sehe ich nur die Möglichkeit entweder alle oder keine statisch zu binden - geht es auch anders?

Zonk!

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

Re: Libraries selektiv statisch einbinden

#2 Beitrag von Janka » 27. Mär 2006 18:39

Zonk1 hat geschrieben:ich habe ein Makefile/gcc-Problem: Ich würde in einem Projekt gerne genau eine Library statisch linken, die anderen, ebenfalls noch verwendeten aber nicht. Momentan sehe ich nur die Möglichkeit entweder alle oder keine statisch zu binden - geht es auch anders?
Statisch linken heißt, die .a-Version der Library wie eine .o-Datei im abschließenden Linker-Aufruf z.B.

Code: Alles auswählen

gcc -o hello libxyz.a hello.o
anzugeben. Bei dynamischem Linken müsste man stattdessen

Code: Alles auswählen

gcc -o hello -lxyz hello.o
schreiben.

Der gcc-Schalter "-static" bezieht sich eigentlich auf die Libraries, die beim Linken mit gcc (statt ld) sonst automatisch eingebunden werden, also linux-gate.so, libc.so, ld-linux.so und gegebenenfalls libpthread.so

Janka

Antworten