Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++ > Bibliothèques > Boost
Boost Forum d'entraide C++ sur Boost
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/07/2012, 15h58   #1
kao98
Invité de passage
 
Inscription : juillet 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 9
Points : 4
Points : 4
Par défaut Boost.asio et CodeBlocks : problème de compilation

Bonjour à tous,

Je débute un nouveau projet pour lequel j'aimerais utiliser entre autres boost.asio.

Je suis sous Code::Blocks 10.05 avec MinGW 4.4.1. Boost est en version 1.50.

Je n'en suis qu'au tout début du projet. J'ai intégré les librairies logog et pthread (requis pour logog). Jusque là, tout fonctionne parfaitement.

Au sujet de boost.asio, pour l'instant, je n'ai rien fait d'autre que :

Code c++ :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <boost/asio.hpp>
 
class MaClasse :
{
    public:
        /** Default constructor */
        MaClasse();
        /** Default destructor */
        ~MaClasse();
    protected:
 
        boost::asio::io_service io;
 
};

J'ai bien ajouté les librairies boost (system, thread, date_time, regex et serialization) ainsi que libws2_32.a. Et pour les options de compilations, j'ai bien remplacé -std=c++0x par -std=gnu++0x (C++0x requis par logog).

Mais j'ai toujours des erreurs de compilations :

Citation:
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In member function 'void boost::asio::detail::win_object_handle_service::move_construct(boost::asio::detail::win_object_handle_service::implementation_type&, boost::asio::detail::win_object_handle_service::implementation_type&)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:106: error: '::UnregisterWaitEx' has not been declared
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In member function 'void boost::asio::detail::win_object_handle_service::move_assign(boost::asio::detail::win_object_handle_service::implementation_type&, boost::asio::detail::win_object_handle_service&, boost::asio::detail::win_object_handle_service::implementation_type&)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:158: error: '::UnregisterWaitEx' has not been declared
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In member function 'void boost::asio::detail::win_object_handle_service::destroy(boost::asio::detail::win_object_handle_service::implementation_type&)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:200: error: '::UnregisterWaitEx' has not been declared
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In member function 'boost::system::error_code boost::asio::detail::win_object_handle_service::close(boost::asio::detail::win_object_handle_service::implementation_type&, boost::system::error_code&)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:251: error: '::UnregisterWaitEx' has not been declared
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In member function 'boost::system::error_code boost::asio::detail::win_object_handle_service::cancel(boost::asio::detail::win_object_handle_service::implementation_type&, boost::system::error_code&)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:302: error: '::UnregisterWaitEx' has not been declared
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In member function 'void boost::asio::detail::win_object_handle_service::register_wait_callback(boost::asio::detail::win_object_handle_service::implementation_type&, boost::asio::detail::scoped_lock<boost::asio::detail::win_mutex>&)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:376: error: 'RegisterWaitForSingleObject' was not declared in this scope
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp: In static member function 'static void boost::asio::detail::win_object_handle_service::wait_callback(void*, BOOLEAN)':
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:402: error: '::UnregisterWaitEx' has not been declared
..\ext\boost_1_50_0/boost/asio/detail/impl/win_object_handle_service.ipp:418: error: 'RegisterWaitForSingleObject' was not declared in this scope
Je dois dire que je suis un peu perdu. Un coup de main d'un connaisseur serait le bienvenue
Désolé si c'est une question de débutant. Cela fait des années que je n'ai pas dev en C++, et je suis complètement perdu :s
kao98 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2012, 12h03   #2
kao98
Invité de passage
 
Inscription : juillet 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 9
Points : 4
Points : 4
J'ai réussi à compiler / linker / exécuter ce bout de code.
Mais sans utiliser boost.asio, mais asio non-boost et en supprimant boost de mon projet.

Je suis loin d'être un expert, mais je pense à une incompatibilité entre boost.thread et pthread dans mon environnement (MinGW) !?
kao98 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h44.


 
 
 
 
Partenaires

Hébergement Web