IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Boost C++ Discussion :

Erreur de linker avec lib Filesystem


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut Erreur de linker avec lib Filesystem
    Bonjour à tous,

    J'essaie d'utiliser la lib FileSystem de Boost (installée avec l'installeur BoostPro) sur Windows 7 64bits et Visual Studio 2010.

    J'ai ajouté les libs de boost dans : Project > Properties > Linker > Additional Library Directories

    Ainsi que les headers, je n'ai aucun soucis pour utiliser Boost en header-only.

    Mais lorsque j'essaie d'utiliser la lib filesystem j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1>Session.obj : error LNK2019: unresolved external symbol "public: static class std::codecvt<wchar_t,char,int> const & __cdecl boost::filesystem::path::codecvt(void)" (?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDH@std@@XZ) referenced in function "public: __thiscall boost::filesystem::path::path<char const [4]>(char const (&)[4],void *)" (??$?0$$BY03$$CBD@path@filesystem@boost@@QAE@AAY03$$CBDPAX@Z)
    1>Session.obj : error LNK2019: unresolved external symbol "void __cdecl boost::filesystem::path_traits::convert(char const *,char const *,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class std::codecvt<wchar_t,char,int> const &)" (?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDH@5@@Z) referenced in function "void __cdecl boost::filesystem::path_traits::dispatch<class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class std::codecvt<wchar_t,char,int> const &)" (??$dispatch@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@path_traits@filesystem@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@4@ABV?$codecvt@_WDH@4@@Z)
    Auriez-vous une petite idée ?

    Merci.
    Cordialement.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut
    Est-ce que tes headers ne seraient pas d'une version plus récente que les binaires installés via BoostPro ?

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    Non, tout vient de l'installeur "BoostPro 1.51.0 Installer (64-bit)"

    Par contre j'ai eu une erreur à l'installe (ci-joint)
    Images attachées Images attachées  

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    Personne n'a une idée ?

  5. #5
    Membre émérite
    Homme Profil pro
    R&D imagerie 3D / prog embarquée
    Inscrit en
    Mars 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : R&D imagerie 3D / prog embarquée
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2007
    Messages : 417
    Par défaut
    Salut,

    De toute évidence, le linker ne trouves pas la lib de boost.
    Je n'ai jamais utilisé boostPro, car je fais tout à la pattoune, mais je suppose qu'au final c'est pareil...

    Les links avec boost sont toujours délicat, car tu as plusieurs .lib et .dll/.so selon la config que tu utilises.
    Es-tu en multi-thread ou pas ? Si tu n'as rien définit, tu es en MT.
    Utilises-tu les lib statiques ou dynamiques ? Si tu utilises boost en lib dynamique, as-tu défini BOOST_ALL_DYN_LINK ?

    Par exemple, si tu compile en debug, sous VS2010, et MT et avec les lib dynamiques; les .lib boost que tu link devraient être post-fixés "*vc100-mt-gd-1_51.lib".

    Enfin, tu trouveras dans ce document, les différentes conventions de nommage de boost et un petit tuto pour linker boost à VS.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    Je pense qu'il trouve bien la lib car quand je n'avais pas installé les libs debug il me sortait un not found.

    D’après mes recherches, c'est un problème de wchar

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par iowa Voir le message
    J'essaie d'utiliser la lib FileSystem de Boost (installée avec l'installeur BoostPro) sur Windows 7 64bits et Visual Studio 2010.
    C'est là qu'est l'erreur : l'installateur BoostPro 64 bits est bien 64 bits, mais t'installe des bibliothèques 32 bits... Vérifiable avec dumpbin /HEAD.

    J'ai perdu près de 2 jours de boulot avec cette saleté...

Discussions similaires

  1. Comment linker avec odbc32.lib dans le code ? (avec gcc)
    Par _Audrey_ dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 06/11/2008, 17h40
  2. linker avec une lib de gcc
    Par uriotcea dans le forum C++Builder
    Réponses: 7
    Dernier message: 04/04/2008, 11h19
  3. Réponses: 6
    Dernier message: 28/03/2007, 19h40
  4. Réponses: 5
    Dernier message: 22/02/2006, 18h21
  5. Erreur de sgmentation avec malloc
    Par simonm dans le forum C
    Réponses: 5
    Dernier message: 27/02/2003, 08h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo