jak prelozit neco staticky jen castecne

Martin Spirk spirk na kla.pvt.cz
Úterý Říjen 24 14:50:14 CEST 2000


Dne út, 24 říj 2000 jste napsal(a):
>
>> >Pouzijte misto dynamicke knihovny statickou, je v /usr/lib/libm.a. Pri
>> >kompilaci dejte misto
>> >gcc -o program program.c -lm
>> >tohle:
>> >gcc -o program program.c /usr/lib/libm.a
>> 
>> Mam dojem, ze -static se vztahuje pouze na knihovny ktere jsou
>> nasledne vyjmenovane, takze napr.
>> gcc -o program program.c -lqt -static -lm
>
> to je asi opravdu dojem... podivejet se do na "man gcc"

Hm, tak se omlouvam za nepresne informace. Musel jsem svuj dojem mirne oprasit
(man ld) abych si to ujasnil. Jedna se o parametry -Bstatic/-Bdynamic a jsou to
parametry linkeru, takze jeste -Wl. Takze cele to ma vypadat:

gcc -o program program.c -lqt -Wl,-Bstatic -lm

pricemz zbytek plati tak jak jsem psal, tj. tyto parametry se mohou
libovolnekrat opakovat a vztahuji se vzdy na ty knihovny ktere jsou za
parametrem uvedene.
Tim samozrejme nijak nezatracuji vami uvadene reseni, funkcne je to naprosto
rovnocenne. Jedinna vyhoda toho -B muze byt kratsi a prehlednejsi zapis pri
vetsim poctu takto linkovanych knihoven.

			Martin


Další informace o konferenci Linux