Re: COMPILATION C++ (pb avec stdc++)

Page principale

Répondre à ce message
Auteur: Francois-Xavier KOWALSKI
Date:  
À: guilde
CC: 
Sujet: Re: COMPILATION C++ (pb avec stdc++)

Nicolas> Pour compiler, je tape donc:
Nicolas> g++ -L/usr/lib -otest.cgi test.C -I/usr/include/psql -lpq

Nicolas> La compilation se passe sans problème. Par contre après
Nicolas> j'ai une erreur du linker:

Nicolas> /usr/bin/ld: cannot open -lstdc++: aucun fichier ou répertoire de ce
Nicolas> type
Nicolas> collect2: ld returned 1 exit status

Nicolas> Après vérification, j'ai bien les fichiers
Nicolas> stdc++.so.... dans les bons chemins.

Eclairage:

- libstdc++.so est utilisé par le linker de developpement (ld) pour
trouver une librairie stdc++. S'agissant usuellement d'un lien
symbolique vers une librairie physique libstdc++.M.m, l'éxécutable
résultant sait à qui (M.m) il a parlé lors de la génération. Cette
info est stockée dans une entête du programme résultant, accessible
par le linker dynamique.

- libstdc++.so.M.m sert au lieur dynamique (dld), au cas où le
programme exécuté désire explicitement la version M.m avec laquelle
il a été en contact lors de sa compilation.

Solution:

- Niveau fichier: Vérifier qu'il existe bien une libstdc++.so, lien
symbolique vers une libstdc++.so.M.n.

- Niveau packages: installer non seulement libstdc++ mais aussi
libstdc++-devel.

A+.
    Fix.


PS: J'ai vu que tu as trouvé la solution en lisant plus loin dans mes
mails. Mais comme je donne des infos explicative en plus, je poste
quand même... :-)

-- 
 LG: Conclusion il faut distribuer fcsm en shareware sur tous le CD de
 revues mac :-)        CF: Faudrait un DVD...
 JNS: Double face hein !!
 -+- JNS in Guide du Macounet Pervers : fcsm comme on l'aime -+-