Boost logo

Boost :

From: Rod Morison (rod_at_[hidden])
Date: 2006-08-14 21:24:04


I'm trying to compile the asio Daytime.3 tutorial source from
http://asio.sourceforge.net/boost_asio_0_3_7/libs/asio/doc/tutorial/tutdaytime3src.html
and I'm getting an type error in an arg passed from asio to winsock. I'm
going to try to grok the code in win_iocp_socket_service.hpp to
understand the problem, but it's my first look at asio internals. (The
tutorial builds correctly on Linux, not surprising as it's a windows
specific binding.)

Any help or pointers are appreciated:

cl -c -nologo -EHsc -GR -Zc:forScope -MT -I/Boost/include/boost-1_33_1/
Daytime3-1.cpp -FoDaytime3-1.obj
Daytime3-1.cpp
Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately
Assuming _WIN32_WINNT=0x0500 (i.e. Windows 2000 target)
\Boost\include\boost-1_33_1\boost\asio\detail\win_iocp_socket_service.hpp(527)
: error C2664: 'WSASend' : cannot convert parameter 6 from
'boost::asio::detail::handler_ptr<Alloc_Traits>::pointer_type' to
'LPWSAOVERLAPPED'
       with
       [
           Alloc_Traits=alloc_traits
       ]
       Types pointed to are unrelated; conversion requires
reinterpret_cast, C-style cast or function-style cast
       
\Boost\include\boost-1_33_1\boost\asio\stream_socket_service.hpp(222) :
see reference to function template instantiation 'void
boost::asio::detail::win_iocp_socket_service<Protocol>::async_send<Const_Buffers,Handler>(boost::asio::detail::win_iocp_socket_service<Protocol>::implementation_type
&,const Const_Buffers
&,boost::asio::socket_base::message_flags,Handler)' being compiled
       with
       [
           Protocol=boost::asio::ip::tcp,
           Const_Buffers=boost::asio::const_buffer_container_1,
           
Handler=boost::asio::detail::write_handler<boost::asio::ip::tcp::socket,boost::asio::const_buffer_container_1,boost::asio::detail::transfer_all_t,boost::_bi::bind_t<void,boost::_mfi::mf2<void,tcp_connection,const
boost::asio::error
&,size_t>,boost::_bi::list3<boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B1,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B2,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B3>>>

       ]
       
\Boost\include\boost-1_33_1\boost\asio\basic_stream_socket.hpp(611) :
see reference to function template instantiation 'void
boost::asio::stream_socket_service<Protocol>::async_send<Const_Buffers,Handler>(boost::asio::stream_socket_service<Protocol>::implementation_type
&,const Const_Buffers
&,boost::asio::socket_base::message_flags,Handler)' being compiled
       with
       [
           Protocol=boost::asio::ip::tcp,
           Const_Buffers=boost::asio::const_buffer_container_1,
           
Handler=boost::asio::detail::write_handler<boost::asio::ip::tcp::socket,boost::asio::const_buffer_container_1,boost::asio::detail::transfer_all_t,boost::_bi::bind_t<void,boost::_mfi::mf2<void,tcp_connection,const
boost::asio::error
&,size_t>,boost::_bi::list3<boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B1,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B2,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B3>>>

       ]
       \Boost\include\boost-1_33_1\boost\asio\impl\write.ipp(167) : see
reference to function template instantiation 'void
boost::asio::basic_stream_socket<Protocol>::async_write_some<Const_Buffers,boost::asio::detail::write_handler<Async_Write_Stream,Const_Buffers,Completion_Condition,Handler>>(const
Const_Buffers
&,boost::asio::detail::write_handler<Async_Write_Stream,Const_Buffers,Completion_Condition,Handler>)'
being compiled
       with
       [
           Protocol=boost::asio::ip::tcp,
           Const_Buffers=boost::asio::const_buffer_container_1,
           Async_Write_Stream=boost::asio::ip::tcp::socket,
           Completion_Condition=boost::asio::detail::transfer_all_t,
           
Handler=boost::_bi::bind_t<void,boost::_mfi::mf2<void,tcp_connection,const
boost::asio::error
&,size_t>,boost::_bi::list3<boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B1,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B2,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B3>>

       ]
       \Boost\include\boost-1_33_1\boost\asio\impl\write.ipp(174) : see
reference to function template instantiation 'void
boost::asio::async_write<Async_Write_Stream,Const_Buffers,boost::asio::detail::transfer_all_t,Handler>(Async_Write_Stream
&,const Const_Buffers &,Completion_Condition,Handler)' being compiled
       with
       [
           Async_Write_Stream=boost::asio::ip::tcp::socket,
           Const_Buffers=boost::asio::const_buffer_container_1,
           
Handler=boost::_bi::bind_t<void,boost::_mfi::mf2<void,tcp_connection,const
boost::asio::error
&,size_t>,boost::_bi::list3<boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B1,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B2,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B3>>,

           Completion_Condition=boost::asio::detail::transfer_all_t
       ]
       Daytime3-1.cpp(41) : see reference to function template
instantiation 'void
boost::asio::async_write<boost::asio::ip::tcp::socket,boost::asio::const_buffer_container_1,boost::_bi::bind_t<R,F,L>>(Async_Write_Stream
&,const Const_Buffers &,Handler)' being compiled
       with
       [
           R=void,
           F=boost::_mfi::mf2<void,tcp_connection,const
boost::asio::error &,size_t>,
           
L=boost::_bi::list3<boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B1,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B2,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B3>,

           Async_Write_Stream=boost::asio::ip::tcp::socket,
           Const_Buffers=boost::asio::const_buffer_container_1,
           
Handler=boost::_bi::bind_t<void,boost::_mfi::mf2<void,tcp_connection,const
boost::asio::error
&,size_t>,boost::_bi::list3<boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B1,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B2,boost::_bi::list_av_3<boost::shared_ptr<tcp_connection>,boost::arg<1>,boost::arg<2>>::B3>>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk