J'essaie de lier quelque chose que j'ai écrit à une bibliothèque partagée existante. Je gcc 3.2.3 sur RedHat 3. Quand j'arrive à la phase de lien je reçois une erreur qui dit:espace de noms std vs. _STL problèmes de lien d'espace de noms
object_files_linux/hvm_example.o (.text + 0x233): ~/hvm_example.cpp: 254: Non défini référence à `Xoc :: hvmapi :: id (std :: basic_string, std :: allocateur> const &) »
J'ai exécuter la commande nm sur le fichier objet et il montre cela pour la fonction en question:
U xoc :: :: hvmapi id (std :: basic_string, std :: allocateur> const &)
I exécuter nm sur le sha bibliothèque rouge et cela pour montrer la fonction en question:
T Xoc :: hvmapi :: id (STL :: __ basic_string, _STL :: allocateur> const &)
Ma question est: Est-ce que la liaison parce que ma fonction utilise l'espace de noms std et la bibliothèque partagée utilise l'espace de noms _STL?
Existe-t-il une solution?
Je n'ai pas accès à la source du code source de la bibliothèque partagée, mais j'ai des fichiers d'en-tête qui utilisent l'espace de noms std pour les paramètres.
Merci, Mike