Bonjour,

Voilà bientot une semaine que je tourne en rond sur le problème suivant: je dois porter un logiciel de windows (visual 2003) sous solaris gcc 3.4.3.

J'ai pour cela besoin de générer une bibliothèque dynamique et j'utilise donc gcc avec fPIC pour les .o et -shared pour la lib.

Problème, le message suivant apparait lors de la compil des .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 ld: fatal: symbol `void prog::Value::set<double>(double const&)' is multiply-defined:
:
        (file Serializer.o type=FUNC; file Matrix.o type=FUNC);
Le problème ne semble exister que pour les templates.

J'ai essayé le flag -z muldefs de gcc:
ce dernier me permet de ne plus afficher ces erreurs, et de générer ma lib. Cependant une fois que je veux l'utiliser dans un programme de test, la compilation de ce programme de test me renvoi des erreurs signalant que ces fonctions ne sont pas défini dans la lib .so. et ceci en incluant uniquement le fichier .h meme sans l'utiliser.

Merci pour votre aide.