[Asio] Compiling DLL project with stdcall calling convention
I'm using Boost.Asio in a windows DLL project and had to change the calling convention to stdcall, now when I try to build I get the following build errors: 1>C:\boost_1_49_0\boost/asio/ detail/impl/signal_set_service.ipp(74): error C2664: 'signal' : cannot convert parameter 2 from 'void (__stdcall *)(int)' to 'void (__cdecl *)(int)' 1> None of the functions with this name in scope match the target type 1>C:\boost_1_49_0\boost/asio/detail/impl/signal_set_service.ipp(247): error C2664: 'signal' : cannot convert parameter 2 from 'void (__stdcall *)(int)' to 'void (__cdecl *)(int)' 1> None of the functions with this name in scope match the target type I'm using MSVC10. Can anyone help me with these errors? I have no idea what to do with them.
I'm using Boost.Asio in a windows DLL project and had to change the calling convention to stdcall, now when I try to build I get the following build errors:
1>C:\boost_1_49_0\boost/asio/ detail/impl/signal_set_service.ipp(74): error C2664: 'signal' : cannot convert parameter 2 from 'void (__stdcall *)(int)' to 'void (__cdecl *)(int)' 1> None of the functions with this name in scope match the target type 1>C:\boost_1_49_0\boost/asio/detail/impl/signal_set_service.ipp(247): error C2664: 'signal' : cannot convert parameter 2 from 'void (__stdcall *)(int)' to 'void (__cdecl *)(int)' 1> None of the functions with this name in scope match the target type
I'm using MSVC10. Can anyone help me with these errors? I have no idea what to do with them.
Not sure, but try defining BOOST_BIND_ENABLE_STDCALL globally in your project.
On Fri, Jun 1, 2012 at 9:56 AM, Igor R
I'm using Boost.Asio in a windows DLL project and had to change the calling convention to stdcall, now when I try to build I get the following build errors:
1>C:\boost_1_49_0\boost/asio/ detail/impl/signal_set_service.ipp(74): error C2664: 'signal' : cannot convert parameter 2 from 'void (__stdcall *)(int)' to 'void (__cdecl *)(int)' 1> None of the functions with this name in scope match the target type 1>C:\boost_1_49_0\boost/asio/detail/impl/signal_set_service.ipp(247): error C2664: 'signal' : cannot convert parameter 2 from 'void (__stdcall *)(int)' to 'void (__cdecl *)(int)' 1> None of the functions with this name in scope match the target type
I'm using MSVC10. Can anyone help me with these errors? I have no idea what to do with them.
Not sure, but try defining BOOST_BIND_ENABLE_STDCALL globally in your project.
Unfortunately that did nothing. The problem seems to be purely with an Asio function.
participants (2)
-
Da-Huntha
-
Igor R