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 :
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) << " " );
}
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 :
Deux dossiers apparaissent :
  • 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 :
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;
    }
}
Et là j'obtiens 40 erreurs, toutes des "undefined reference to ...".

J'ai dû faire quelque chose de travers, mais à force de refaire le tutoriel officiel, je me demande bien quoi ...