[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Statisk linking



Anders Melchiorsen <sslug@sslug> writes:

> jeg prøver forgæves at linke et program statisk, så jeg kan lægge det
> på en hjemmeside og være rimelig sikker på, at den glade henter i det
> mindste kan køre programmet. Men det går ikke, som jeg vil. Normalt
> linkes programmet således:

Det må være noget mystisk opførsel med libdl, som er det lib som
håndterer dynamisk loading (via dlopen, ikke dynamiske libs når
programmet starter). Måske kunne du prøve at lade -ldl forblive
dynamisk og gære de andre ting statisk.

(Jeg troede slet ikke at man KUNNE bruge libdl når programmet var
statisk linket)

Du kan linke nogle ting dynamisk og nogle statisk ved at bruge:

-Wl,-Bstatic ... -llibSomSkalVæreStatisk ....
-Wl,-Bdynamic ... efterfølgende er igen dynamiske

-Wl,XXX overfører option XXX til linkeren.

Såh, du kunne fx lade libc og libdl forblive dynamiske men statisk
linke de mere eksotiske ting du har.

Start med at ekspandere de der "foo-config --libs" til hvad de
egentlig outputter. Måske er der nogle underlige flag der og ikke bare
libs.


> Hvad kan det nu skyldes, og hvordan slipper jeg af med det? Eller
> hvordan sørger jeg på anden vis for, at programmet kan køres på enhver
> distribution?

Lade være med at skrive det i C/C++ ;)


-- 
===============================================================
<sslug@sslug>     Herlev, Denmark     Software Designer
<URL:http://www.andreasen.org/>   <*>   Eicon Networks Research
===============================================================



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *