[Linux-Biella] Compilare un programma con librerie statiche
Marco Ermini
linux@ml.bilug.linux.it
Tue, 8 Jun 2004 11:07:37 +0200 (CEST)
Devi per prima cosa assicurarti di avere installata la versione
staticamente linkabile di tali librerie (ovvero di solito il .a o .la, non
basta il .so).
Dopodichè dipende dalle librerie. Potrebbe bastare giusto un'aggiunta nel
makefile, tipo:
LFLAGS = -static -Wl,-rpath,$(YOULIBDIR)/lib
per compilare staticamente le YOURLIB, per esempio... in realtà devi
sapere molto bene quello che stai facendo (dimmi se sbaglio: non sai le
opzioni di make...) oppure andare per tentativi - spesso e volentieri devi
anche specificare nel giusto ordine le librerie da linkare (la sequenza
dei -lYOURLIB -lANOTHERLIB ecc.) perché nel link statico si creano spesso
delle dipendenze abbastanza intricate che si risolvono specificando nel
giusto ordine le librerie da linkare (e spesso aggiungendo anche librerie
che non pensavi di dover aggiungere... sic).
HTH.
Ciao.
Luca Bertoncello disse:
> Ciao a tutti!
>
> Vorrei compilare un programma dicendogli di includere STATICAMENTE tutte
> le libraries che gli servono (credo che le uniche siano le QT2) per farlo
> girare su un sistema sul quale queste librerie non sono installabili.
>
> Piu' o meno, vorrei fare come Opera ha fatto fornendo binari che girano
> anche su sistema "vecchiotti" usando pero' le nuove QT.
>
> Come dovrei procedere?
>
> Ciao
> Luca
>
> _______________________________________________
> Linux mailing list
> Linux@ml.bilug.linux.it
> http://ml.bilug.linux.it/mailman/listinfo/linux
>
--
Marco Ermini
http://www.markoer.org
Dubium sapientiae initium. (Descartes)
<< This message is for the designated recipient only and may contain
privileged or confidential information. If you have received it in
error, please notify the sender immediately and delete the original.
Any other use of the email by you is prohibited. >>