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 :

Installation de Boost


Sujet :

Boost C++

  1. #1
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut Installation de Boost
    Bonjour,
    Voilà bientôt une semaine que je cherche à utiliser boost. Je suis sous Ubuntu. J'ai télécharger boost, je l'ai décompressé, j'ai fais bjam install en mode "su"...

    Ensuite j'inclu <boost/thread/thread.hpp> -> Ca c'est OK!
    Ensuite je déclare un thread et là il dit "référence indéfinie vers le constructeur et destructeur de thread".

    Qu'ai je mal fait?

    Merci d'avance!

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Qu'ai je mal fait?
    Oublié de lier avec la bibliothèque (le .a) correspondante, probablement.

  3. #3
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    Au niveau du make? J'utilise un makefile en fait? je dois linker quoi?

    Merci pour ton aide!

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu aurais peut-être plus dû faire un sudo apt-get install libboost-dev ?

  5. #5
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    Qui ne tente rien n'a rien... Je viens d'essayer mais tjrs les mêmes erreurs

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Rajoute -lboostthread.a à ta ligne d'édition de lien dans le makefile.

    Le nom n'est pas bon, mais comme je n'ai aucune idée du vrai nom et qu'il est trop compliqué... regarde plutôt dans les fichiers générés lequel est le bon

  7. #7
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    Alors, j'ai un problème de compilation (j'ai trouvé le bon nom pourtant!)

    g++: -libboost_thread-gcc-mt-d-1_33_1.a: linker input file unused because linking not done
    Creation de Musee
    /usr/bin/ld: ne peut trouver -libboost_thread-gcc-mt-d-1_33_1.a
    collect2: ld returned 1 exit status

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Oups... j'ai été un peu vite. La syntaxe correcte est la suivante :

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    -lboost_thread-gcc-mt-d-1_33_1

    L'option "-lxxx" va lier avec la bibliothèque nommée libxxx.a.

  9. #9
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    Malheureusement il fait la même erreur... Il veut pas linker...

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est sans doute qu'elle n'est pas installée avec libboost-dev, alors ajoute libboost-thread-dev ou qqch du genre, cherche le nom adéquat avec apt-cache search.

  11. #11
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    J'ai installé : "libboost-thread-dev"

    J'ai linker à mon .a mais il sait tjrs pas linker... je link p-e le mauvais??? C'est bien dans /usr/lib que je dois regardé?

  12. #12
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    Je suis en pleine déprime là

    Je crois qu'elle sont bien installée mais que j'arrive pas à les linker. Je remarque aussi qu'il n'y a que des .a et aucun .lib...

    J'ai essayer avec des pragma etc... rien n'y fait!

    Merci pour votre aide!

  13. #13
    Membre expérimenté
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Par défaut
    Visiblement tu es sous gcc, donc tu ne doit pas avoir de .lib mais bien des .a.

    A mon avis la réponse de Laurent est la bonne, mais tu dois d'abord vérifier le nom exact de la bibliothèque.

  14. #14
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    J'utilise g++. Pour moi je met le bon nom de fichier... Mais même quand je met -l avec le chemin complet il dit que "ld" ne le trouve pas :s

  15. #15
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Oui, et quand tu utilises g++ avec -l, on ne met pas "lib" et ".a" à la fin, cf le message de Laurent.

  16. #16
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    Re re re re bonjour à tous ... Non non j'ai toujours pas trouvé .

    Je suis sûr que je link le bon fichier... Voici ce que j'ai dans /usr/lib :

    lrwxrwxrwx 1 root root 31 2007-03-22 12:43 libboost_thread.a -> libboost_thread-gcc-mt-1_33_1.a
    Et dans mon makefile :

    g++ -l boost_thread

    Merci pour votre aide et temps

  17. #17
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pas d'espace entre -l et le nom de la bibliothèque.

  18. #18
    Membre éclairé

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Par défaut
    C'est exactement la même chose... Rhaaa je deviens fou! Ca fait déjà une semaine que je suis dessus...

  19. #19
    Membre expérimenté
    Inscrit en
    Décembre 2003
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 272
    Par défaut
    libboost_thread-gcc-mt-1_33_1.a
    donc :
    -lboost_thread-gcc-mt-1_33_1

  20. #20
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Bonjour,

    Je déterre ce topic parce que je suis confronté au même soucis, mais avec boost::regex.

    j'essai de compiler un des exemples de base de la documentation :

    http://www.boost.org/libs/regex/exam...es_example.cpp

    Mais j'obttens les erreurs suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ~/developpement/essai_regex/boost$ g++ -o test captures_examples.cpp
    captures_examples.cpp: In function «void print_captures(const
    std::string&, const std::string&)":
    captures_examples.cpp:43: erreur: «class boost::smatch" has no member
    named «captures"
    captures_examples.cpp:49: erreur: «class boost::smatch" has no member
    named «captures"
    J'ai essayé énormément d'option après -o test : -lboostregex -lboost_regex -lboost-regex -lboost_regex_dev -lboost_regex-1_34_1 -lboost_regex-mt-d-1_34_1.....


    Mais j'obtiens toujours la même erreur. J'ai pourtant bien installé ces librairies :

    ii libboost-regex-dev 1.34.1-2ubuntu1 regular expression library for C++
    ii libboost-regex1.34.1 1.34.1-2ubuntu1 regular expression library for C++


    (Comme vous pouvez le constater, je suis sous ubuntu).

    Google m'a mit un vent (enfin pas totalement étant donné que j'ai trouvé ce topic). Auriez vous une idée svp?

    Merci!

Discussions similaires

  1. installation compilation Boost
    Par grossbug dans le forum Boost
    Réponses: 8
    Dernier message: 24/09/2008, 15h41
  2. Installation de Boost avec Code::Blocks et MinGW
    Par kalash_jako dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 27/08/2007, 12h16
  3. Installation de Boost (sous winxp) avec mingw
    Par Zapan77 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 11/11/2006, 01h15
  4. installation de boost
    Par heinquoi dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 18/04/2005, 17h20
  5. Installation de boost (librairie)
    Par dj.motte dans le forum Autres éditeurs
    Réponses: 14
    Dernier message: 21/11/2004, 03h11

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