Don't assume SO_UPDATE_CONNECT_CONTEXT is defined.
diff --git a/asio/include/asio/detail/impl/socket_ops.ipp b/asio/include/asio/detail/impl/socket_ops.ipp index c601210..6b06013 100644 --- a/asio/include/asio/detail/impl/socket_ops.ipp +++ b/asio/include/asio/detail/impl/socket_ops.ipp
@@ -529,8 +529,9 @@ // Need to set the SO_UPDATE_CONNECT_CONTEXT option so that getsockname // and getpeername will work on the connected socket. socket_ops::state_type state = 0; + const int so_update_connect_context = 0x7010; socket_ops::setsockopt(s, state, SOL_SOCKET, - SO_UPDATE_CONNECT_CONTEXT, 0, 0, ec); + so_update_connect_context, 0, 0, ec); } }