Boost logo

Boost Users :

Subject: [Boost-users] boost::asio UnregisterWaitEx RegisterWaitForSingleObject has not been declared
From: Vincent (vincentb1981_at_[hidden])
Date: 2012-08-03 05:31:12


Dear Boost'ers,

I'm facing compilation troubles while using boost::asio for asynchronous
timers. Including the asio.hpp header raises compilation error on Windows
(Windows 7 64 bits) but not on GNU/Linux & Mac OS X:

#include <boost/asio.hpp>

main error messages (full error output below):

..\Tools\boost\current\boost\asio\detail\impl\win_object_handle_service.ipp:109:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:379:
error: 'RegisterWaitForSingleObject' was not declared in this scope

I tried either with a complete project (via qmake + Qt Creator), either
with a "hello world" example compiled with g++ (mingw under the hood):

g++ testasio.cpp -I..\Tools\boost\current
-L..\Tools\boost\current\stage\lib -lboost_system-mgw44-mt-1_49
-D_WIN32_WINDOWS

Where the source code example is copy-pasted from "Timer asynchrone" (it's
in french but the code is universal ;-) )
http://gwenael-dunand.developpez.com/tutoriels/cpp/boost/asio/#LIII-B

Thanks,

Vincent

Full g++ output:

In file included from
..\Tools\boost\current/boost/asio/detail/win_object_handle_service.hpp:180,

from ..\Tools\boost\current/boost/asio/windows/object_handle_service.hpp:24,

from ..\Tools\boost\current/boost/asio/windows/basic_object_handle.hpp:27,

from ..\Tools\boost\current/boost/asio.hpp:99,

..\Tools\boost\current/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&)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:109:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/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&)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:161:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/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&)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:203:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/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&)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:254:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/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&)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:305:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/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>&)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:379:
error: 'RegisterWaitForSingleObject' was not declared in this scope

..\Tools\boost\current/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)':

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:405:
error: '::UnregisterWaitEx' has not been declared

..\Tools\boost\current/boost/asio/detail/impl/win_object_handle_service.ipp:421:
error: 'RegisterWaitForSingleObject' was not declared in this scope



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net