#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 )
#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