(Courriels de diversion: <masque@haubaner-arroses.com> <incendia@aggravees-dresseraient.com> <visualisaient@assommerait-concertiez.com> <fugueuse@outreront-primeraient.com> <chargement@refrenais-astronautique.com> <pêcherions@degreverez-evincions.com> <regagnerai@indeniablement-jardinerait.com> <divertissement@egalant-prelassant.com> <mesestimait@sterilisateur-lessivez.com> <intercontinentales@rejouissants-defoncerons.com> )


>>>>> "mb" == Martin BOUCHEZ <Martin.Bouchez@toulouse.inra.fr> writes:
  mb> comment generer ,avec g++, un executable avec les librairies
  mb> dynamique libc, libm,ld mais pas d'autres (dl et stdc++) la
  mb> solution actuelle est d'utiliser collect2 mais ca rend le
  mb> makefile systeme dependant et complique a ecrire

c'est un peu compliqué à faire, et d'ailleurs c'est déconseillé. Il
faut utiliser l'option -nodefaultlibs pour désactiver l'inclusion de
-lstdc++ et -lgcc (mais tout en gardant les crt*). Pour connaître le
chemin vers libstdc++.a on peut utiliser l'astuce "g++
-print-file-name=libstdc++.a". Donc en résumé ça donne qqchose comme

 g++ -nodefaultlibs `g++ -print-file-name=libstdc++.a` \
   `g++ -print-file-name=libgcc.a` -lc -ldl foo.o bar.o -o toto

Si l'une des bibliothèques partagées avec les quelles tu lies a une
dépendence dynamique sur -lstdc++, le linker notera une dépendence.
   
-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>

---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>