Bonjour,
Voilà des jours que je recherche, teste les solutions indiquées sur le net, mais je n'arrive toujours pas à résoudre mon problème.
Pour un support plus efficace, je vais vous indiquer toute la procédure que j'ai faite, afin que vous puissiez me dire ce que j'aurais pu faire de mal.
Tout d'abord, j'ai téléchargé la dernière version de boost (1.47.0) que j'ai placé dans "C:\boost\boost_1_47_0\".
J'ai suivi plusieurs fois à la lettre le tutoriel Getting Started Guide proposé par le site.
J'ai également téléchargé la dernière version possible de C::B.
Après la copie, je vais dans "Settings/Compiler and debugger", onglet "Search directories" puis onglet "Compiler" et là j'ajoute :
- C:\boost\boost_1_47_0
- C:\boost\boost_1_47_0\boost
De cette façon un simple projet de ce type fonctionne :
En suivant le tutoriel de boost, j'arrive à la section 5.2, j'utilise la ligne de commande pour me placer sur la racine de boost_1_47_0 et j'effectue ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <boost/lambda/lambda.hpp> #include <iostream> #include <iterator> #include <algorithm> int main() { using namespace boost::lambda; typedef std::istream_iterator<int> in; std::for_each( in(std::cin), in(), std::cout << (_1 * 3) << " " ); }
Deux dossiers apparaissent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bootstrap .\b2
- bin.v2
- stage
J'ai également un bjam.exe qui est apparu (utilisé par .\b2 si je ne m'abuse).
A la fin du building, je place comme indiqué le dossier "C:\boost\boost_1_47_0\stage\lib" dans "Settings/Compiler and debugger" onglet "Search directories" puis onglet "Linker".
Ensuite, je teste le projet suivant :
Et là j'obtiens 40 erreurs, toutes des "undefined reference to ...".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <boost/regex.hpp> #include <iostream> #include <string> int main() { std::string line; boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" ); while (std::cin) { std::getline(std::cin, line); boost::smatch matches; if (boost::regex_match(line, matches, pat)) std::cout << matches[2] << std::endl; } }
J'ai dû faire quelque chose de travers, mais à force de refaire le tutoriel officiel, je me demande bien quoi ...
Partager