Bonjour à tous,
Je dois programmer un client de connexion destiné aux clients légers sous linux. Comme vous pouvez le savoir, ces client ne disposent que de très peu de librairies disponibles nativement...
Dans mon programme, j'utilise la libxml et la libcurl. Pour l'instant le seul moyen de faire tourner l'application sur un client léger est de compiler en static le tout.
Le problème, c'est que ça coûte en mémoire...
Ce que j'aimerai pouvoir faire, c'est d'intégrer les librairies qu'il me faut au binaire et le reste peut rester linké dynamiquement. Vous voyez ?
Dans mon cas je voudrais que dans mon programme soit intégré statiquement libcurl et libxml; le reste doit être dynamique..
Est-ce possible ? Si oui comment ?
Merci d'avance !
++
Mehdi
# Re
Posté par LaBienPensanceMaTuer . Évalué à 3.
gcc $(CFLAGS) -llib_dynamique1 -lib_dynamiqueX truc.c /usr/lib/libcurl.a /usr/lib/libxml.a
devrait fonctionner:
[gco@gc]:~% cc -o test test.c -lcurl
[gco@gc]:~% ldd test
libcurl.so.3 => /usr/lib/libcurl.so.3 (0xb7f1f000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7de9000)
libidn.so.11 => /usr/lib/libidn.so.11 (0xb7db9000)
libssl.so.0.9.7 => /usr/lib/i686/cmov/libssl.so.0.9.7 (0xb7d88000)
libcrypto.so.0.9.7 => /usr/lib/i686/cmov/libcrypto.so.0.9.7 (0xb7c89000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7c86000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7c74000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7f5f000)
[gco@gc]:~% cc -o test test.c /usr/lib/libcurl.a
[gco@gc]:~% ldd test
libc.so.6 => /lib/tls/libc.so.6 (0xb7dc1000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7f04000)
[^] # Re: Re
Posté par M3hd1 . Évalué à 1.
Encore merci ;)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.