[C++] Utiliser Boost avec code::blocks

a marqué ce sujet comme résolu.

Bonjour,

Je voudrais utiliser Boost.asio pour faire de la programmation réseau (client/serveur). Mais j’ai du mal à configurer mon projet code::blocks pour faire fonctionner ça (je n’y connais pas grand chose en linker/compilateur et cie).

Jusqu’à présent, j’ai réussi à faire fonctionner le programme d’exemple de boost, puisque ça ne demande pas grand chose. En effect, j’ai simplement ajouter le chemin de boost dans les options du projet (project-> build options -> search directory -> compiler).

#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) << " " );
}

Maintenant, impossible de faire fonctionner le programme d’example de boost.asio :

#include <boost/asio.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
    boost::asio::io_context io_context;
}

J’obtiens une undefined reference to dans un fichier de boost.

Il semblerait que je doive compiler des choses. J’ai du mal à trouver des infos sur ce que je dois faire. Quelqu’un s’y connaitrait un peu pour m’aiguiller ?

Merci

+0 -0

Voici l’erreur que j’ai :

||=== Build: Debug in TetrisServer (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `ZN5boost4asio6detail17winsock_init_base7startupERNS2_4dataEhh':|
C:\Users\Nico\Documents\boost_1_69_0\boost\asio\detail\impl\winsock_init.ipp|39|undefined reference to `WSAStartup@8'|
obj\Debug\main.o||In function `ZN5boost4asio6detail17winsock_init_base7cleanupERNS2_4dataE':|
C:\Users\Nico\Documents\boost_1_69_0\boost\asio\detail\impl\winsock_init.ipp|56|undefined reference to `WSACleanup@0'|
||error: ld returned 1 exit status|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

J'ai cru comprendre sur internet qu'il fallait compiler la source boost ou quelque chose comme ça. Mais je dois avouer que je ne comprends pas bien.
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte