Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/05/2009, à 19:17

NLS le pingouin

[g++] Compiler un programme avec Boost

Bonjour,

Je viens d'installer le paquet libasio-dev, mais je n'arrive pas à trouver dans la doc ce qu'il faut lié pour compiler avec g++. Si vous pouviez m'indiquer la ligne à rentrer dans le terminal, ça serait top.

Merci

Dernière modification par NLS le pingouin (Le 09/05/2009, à 19:22)

Hors ligne

#2 Le 09/05/2009, à 21:52

Link31

Re : [g++] Compiler un programme avec Boost

Il n'y a rien à lier, tu inclus juste les .h et c'est bon.

Hors ligne

#3 Le 09/05/2009, à 22:14

Le Farfadet Spatial

Re : [g++] Compiler un programme avec Boost

Salut à tous !

   Pour compléter la réponse de Link 31, qui a dit l'essentiel, Boost utilise massivement la méta-programmation. En conséquence, à l'exception de quelques rares parties (comme par exemple quelques fonctionnalités de Boost::File), la bibliothèque est entièrement contenue dans ses en-têtes : il n'y a rien à lier.

   L'adresse de la documentation officielle de Boost : http://www.boost.org/doc/

   À bientôt.

                                                                                                                                    Le Farfadet Spatial

Hors ligne

#4 Le 09/05/2009, à 23:44

NLS le pingouin

Re : [g++] Compiler un programme avec Boost

Ok. Je comprend. Merci de vos explications. Je pense alors avoir loupé l'installation. J'ai juste récupéré les paquets via un "apt-get install".

Je compile, mais j'ai une insulte du compilo :

erreur: boost/asio.hpp : Aucun fichier ou dossier de ce type

Mon code est relativement tout con :

  1 #include <boost/asio.hpp>
  2 
  3 int main()
  4 {
  5     boost::asio::io_service io_service;
  6  
  7     return 0;
  8 }

8 petites lignes pour tester... Je me suis dit que j'avais oublié peut-être d'installé la libboost-dev, mais vu que c'est une dépendance de libasio-dev, elle est installée.

Une idée?

Hors ligne

#5 Le 09/05/2009, à 23:58

Link31

Re : [g++] Compiler un programme avec Boost

Quelle version d'Ubuntu ?
Avec la 8.10 ou la 9.04, il faut installer libboost1.35-dev, asio est fourni avec. Avec les versions précédentes d'Ubuntu, asio n'est pas fourni avec, il faut donc installer libasio-dev et inclure /usr/include/asio.hpp (#include <asio.hpp>).

Hors ligne

#6 Le 10/05/2009, à 00:01

NLS le pingouin

Re : [g++] Compiler un programme avec Boost

Je suis sous la version 8.04..

Je viens de tester avec ton include. Ca fonctionne, mais j'ai encore pas mal d'insulte. J'ai l'impression que je vais devoir installer pas mal de paquets pour que ça fonctionne. Je teste tout ça pour voir.

Merci.

EDIT : Voilà. J'ai dû installé boost.date_time et boost.regex, il reste un dernier problème : il semble bien que le compile reconnaisse l'include, mais il me dit que :

main.cpp:5: erreur: «boost::asio» has not been declared

J'avais suivi le début de ce tuto.

Dernière modification par NLS le pingouin (Le 10/05/2009, à 00:07)

Hors ligne

#7 Le 18/07/2009, à 15:15

BuBu07

Re : [g++] Compiler un programme avec Boost

Peut être que le dossier d'installation n'est pas le bon ? Dans quel dossier se trouvent les fichiers d'en-tête? Essaie en mettant le dossier les contenant dans /usr/local/include ( ou /usr/include ) ça devrait marcher( il te faudra sûrement copier en ligne de commande à cause des droits ). Sinon il faudra peut être modifier le makefile.

Je suis pas un pro donc je ne suis pas sûr que ça marche mais ça ne coûte rien d'essayer( ma première réponse sur ce site ça s'arrose lol)

#8 Le 19/07/2009, à 21:48

Link31

Re : [g++] Compiler un programme avec Boost

libasio-dev n'a rien à voir avec boost et réside dans son propre namespace "asio". La version d'asio contenue dans les paquets libboost1.35-dev et supérieurs, quant à elle, est dans le namespace "boost", comme c'est le cas dans le tuto que tu suis.

Donc si tu veux suivre des tutos sur boost::asio, passe à une version de ta distribution qui fournit boost::asio, et pas "asio" seul.

Hors ligne