Selon jean-luc malet <[EMAIL PROTECTED]>:
> j'ai un petit cgi écrit en C++ qui marche bien en dynamique (donc sans la
> prison de type chroot)
> je me suis dit "ben tu n'as qu'à le linker en static..." sitôt dit sitôt
> fait...
> g++ mon.cpp -o mon.cgi -Wl,--static
> et là c'est le drame... la libgcc_s.so n'as pas de pendant en .a donc ld se
> plaint de ne pas trouver -lgcc_s... bien. il cherche un .a? que ce
> passe-t-il si on fait un lien symbolique? ah maintenant il se plaint que
> c'est une librarie dynamique et pas une librarie statique....
Hé non car comme tu l'as dit plus haut, un .a n'est qu'une collection d'objets
donc ça n'a pas le même format.
Sinon, tu obtiendra un bien meilleur résultat en disant au compilateur (et pas
seulement au linker) que tu fais un exécutable statique, remplace -Wl,--static
par --static.
> je ne trouve nul pas les options à donner pour que le linker fasse le
> linkage avec la lib dynamique mais non pas au runtime (comportement d'une
> lib dynamique) mais au linktime... en gros qu'il fasse ce qu'il fait avec
> une librarie static ".a" mais avec une librarie dynamique ".so"
Je ne saisis pas l'intérêt, il te faut simplement le .a lequel se trouve en
général dans le paquet -dev correspondant à la bibliothèque dynamique. Le .a
sera alors intégralement dans l'exécutable et tu n'en auras plus besoin
ensuite.
Diffusez cette liste aupres de vos relations :)
Linux Azur : http://linux-azur.org
L'auteur du post est responsable de ses écrits !
*** Pas de message SMS, HTML ni de PJ SVP ***