Riot Buy me a riot | Oui j'ai cherché de Google, mais rien de convainquant.
Pour le code :
Code :
- #include <iostream>
- #include <string>
- #include <boost/asio.hpp>
- #include <boost/bind.hpp>
- class Toto
- {
- ...
- void multicast();
- void handleReceiveMulticast( const boost::system::error_code& error, size_t bytes_recvd );
- boost::asio::io_service m_io_service;
- boost::asio::ip::udp::socket m_socket;
- boost::asio::ip::udp::endpoint m_sender_endpoint;
- enum { max_length = 1024 };
- char data_[max_length];
- };
|
Code :
- ...
- void CTransformFilter2InputPin::multicast()
- {
- boost::asio::ip::address listen_address = boost::asio::ip::address::from_string( "0.0.0.0" );
- boost::asio::ip::address& multicast_address = boost::asio::ip::address::from_string( "blabla" );
- // Create the socket so that multiple may be bound to the same address.
- boost::asio::ip::udp::endpoint listen_endpoint( listen_address, 4050 );
- m_socket.open( listen_endpoint.protocol() );
- m_socket.set_option( boost::asio::ip::udp::socket::reuse_address( true ) );
- m_socket.bind( listen_endpoint );
- // Join the multicast group.
- m_socket.set_option( boost::asio::ip::multicast::join_group( multicast_address ) );
- m_socket.async_receive_from(
- boost::asio::buffer( data_, max_length ),
- m_sender_endpoint,
- boost::bind( &CTransformFilter2InputPin::handleReceiveMulticast, this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred ) );
- m_io_service.run();
- }
- void CTransformFilter2InputPin::handleReceiveMulticast( const boost::system::error_code& error, size_t bytes_recvd )
- {
- if( !error )
- {
- std::cout.write( data_, bytes_recvd );
- std::cout << std::endl;
- m_socket.async_receive_from(
- boost::asio::buffer( data_, max_length ), m_sender_endpoint,
- boost::bind( &CTransformFilter2InputPin::handleReceiveMulticast, this,
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred ) );
- }
- }
|
Et voici ce que me dit le compilateur :
Code :
- 1>CTransformFilter2InputPin.obj : error LNK2001: symbole externe non résolu "class boost::system::error_category const & __stdcall boost::system::get_system_category(void)" (?get_system_category@system@boost@@YGABVerror_category@12@XZ)
- 1>CTransformFilter2InputPin.obj : error LNK2001: symbole externe non résolu "class boost::system::error_category const & __stdcall boost::system::get_generic_category(void)" (?get_generic_category@system@boost@@YGABVerror_category@12@XZ)
- 1>...\Debug\IsmaDescrFilter.dll : fatal error LNK1120: 2 externes non résolus
|
Comme dit précédemment, j'ai bien inclut boost_system-vc80-mt-1_36.lib dans les paramètres de link ---------------
Be the one with the flames.
|