I turn to VS 2017 and everything is OK. So if you really need use boost.asio, you can try that. On Tue, Dec 24, 2019 at 11:46 AM Leo Carreon via Boost-users < boost-users@lists.boost.org> wrote:
Hi Boost Users,
I am building Boost 1.72.0 in 64-bit mode with the flag /std:c++latest using Visual Studio 2019 16.4.2 and I am encountering the following issues:
.\boost/asio/async_result.hpp(44): error C2062: type 'bool' unexpected .\boost/asio/async_result.hpp(45): error C2143: syntax error: missing ';' before '{' .\boost/asio/async_result.hpp(45): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/async_result.hpp(56): error C7568: argument list missing after assumed function template 'callable_with' .\boost/asio/async_result.hpp(58): note: see reference to class template instantiation 'boost::asio::detail::is_completion_handler_for
' being compiled .\boost/asio/async_result.hpp(56): error C2059: syntax error: '>' .\boost/asio/async_result.hpp(57): error C3770: 'unknown-type': is not a valid base class .\boost/asio/async_result.hpp(63): error C2062: type 'bool' unexpected .\boost/asio/async_result.hpp(64): error C2065: 'T': undeclared identifier .\boost/asio/async_result.hpp(64): error C2923: 'boost::asio::detail::is_completion_signature': 'T' is not a valid template type argument for parameter 'T' .\boost/asio/async_result.hpp(64): error C2955: 'boost::asio::detail::is_completion_signature': use of class template requires template argument list .\boost/asio/async_result.hpp(34): note: see declaration of 'boost::asio::detail::is_completion_signature' .\boost/asio/async_result.hpp(69): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(70): error C2062: type 'bool' unexpected .\boost/asio/async_result.hpp(71): error C2065: 'T': undeclared identifier .\boost/asio/async_result.hpp(71): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(71): error C2923: 'boost::asio::detail::is_completion_handler_for': 'T' is not a valid template type argument for parameter 'T' .\boost/asio/async_result.hpp(71): error C2923: 'boost::asio::detail::is_completion_handler_for': 'Signature' is not a valid template type argument for parameter 'Signature' .\boost/asio/async_result.hpp(71): error C2955: 'boost::asio::detail::is_completion_handler_for': use of class template requires template argument list .\boost/asio/async_result.hpp(50): note: see declaration of 'boost::asio::detail::is_completion_handler_for' .\boost/asio/async_result.hpp(105): error C2039: 'completion_signature': is not a member of 'boost::asio' .\boost/asio/async_result.hpp(25): note: see declaration of 'boost::asio' .\boost/asio/async_result.hpp(105): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(144): error C2061: syntax error: identifier 'completion_handler_for' .\boost/asio/async_result.hpp(190): note: see reference to class template instantiation 'boost::asio::async_result<CompletionToken>' being compiled .\boost/asio/async_result.hpp(144): error C2988: unrecognizable template declaration/definition .\boost/asio/async_result.hpp(144): error C2059: syntax error: ',' .\boost/asio/async_result.hpp(150): error C2334: unexpected token(s) preceding '{'; skipping apparent function body .\boost/asio/async_result.hpp(194): error C2039: 'completion_signature': is not a member of 'boost::asio' .\boost/asio/async_result.hpp(25): note: see declaration of 'boost::asio' .\boost/asio/async_result.hpp(194): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(195): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(196): error C2977: 'boost::asio::async_result': too many template arguments .\boost/asio/async_result.hpp(107): note: see declaration of 'boost::asio::async_result' .\boost/asio/async_result.hpp(198): error C2913: explicit specialization; 'boost::asio::async_result' is not a specialization of a class template .\boost/asio/async_result.hpp(205): error C2039: 'completion_signature': is not a member of 'boost::asio' .\boost/asio/async_result.hpp(25): note: see declaration of 'boost::asio' .\boost/asio/async_result.hpp(205): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(211): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(251): note: see reference to class template instantiation 'boost::asio::async_completion<CompletionToken>' being compiled .\boost/asio/async_result.hpp(250): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(250): error C2955: 'boost::asio::async_result': use of class template requires template argument list .\boost/asio/async_result.hpp(195): note: see declaration of 'boost::asio::async_result' .\boost/asio/async_result.hpp(258): error C2955: 'boost::asio::async_result': use of class template requires template argument list .\boost/asio/async_result.hpp(195): note: see declaration of 'boost::asio::async_result' .\boost/asio/async_result.hpp(259): note: see reference to class template instantiation 'boost::asio::detail::async_result_helper ' being compiled .\boost/asio/async_result.hpp(288): error C2672: 'boost::asio::detail::async_result_initiate_memfn_helper': no matching overloaded function found .\boost/asio/async_result.hpp(292): note: see reference to class template instantiation 'boost::asio::detail::async_result_has_initiate_memfn ' being compiled .\boost/asio/async_result.hpp(290): error C3206: 'boost::asio::detail::async_result_initiate_memfn_helper': invalid template argument for 'T', missing template argument list on class template 'boost::asio::async_result' .\boost/asio/async_result.hpp(281): note: see declaration of 'boost::asio::detail::async_result_initiate_memfn_helper' .\boost/asio/async_result.hpp(290): error C3206: 'boost::asio::detail::async_result_initiate_memfn_helper': invalid template argument for '<unnamed-symbol>', missing template argument list on class template 'boost::asio::async_result' .\boost/asio/async_result.hpp(278): note: see declaration of 'boost::asio::detail::async_result_initiate_memfn_helper' .\boost/asio/async_result.hpp(350): error C2039: 'completion_signature': is not a member of 'boost::asio' .\boost/asio/async_result.hpp(25): note: see declaration of 'boost::asio' .\boost/asio/async_result.hpp(350): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(353): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(353): error C2923: 'boost::asio::detail::async_result_has_initiate_memfn': 'Signature' is not a valid template type argument for parameter 'Signature' .\boost/asio/async_result.hpp(354): error C2760: syntax error: unexpected token '>', expected 'expression' .\boost/asio/async_result.hpp(359): error C2065: 'Initiation': undeclared identifier .\boost/asio/async_result.hpp(359): error C2065: 'initiation': undeclared identifier .\boost/asio/async_result.hpp(360): error C2065: 'token': undeclared identifier .\boost/asio/async_result.hpp(361): error C2065: 'Args': undeclared identifier .\boost/asio/async_result.hpp(361): warning C4346: 'boost::asio::detail::async_result_has_initiate_memfn::value': dependent name is not a type .\boost/asio/async_result.hpp(361): note: prefix with 'typename' to indicate a type .\boost/asio/async_result.hpp(361): error C2988: unrecognizable template declaration/definition .\boost/asio/async_result.hpp(361): error C2059: syntax error: '...' .\boost/asio/async_result.hpp(362): error C2143: syntax error: missing ';' before '{' .\boost/asio/async_result.hpp(362): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/async_result.hpp(370): error C2039: 'completion_signature': is not a member of 'boost::asio' .\boost/asio/async_result.hpp(25): note: see declaration of 'boost::asio' .\boost/asio/async_result.hpp(370): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(373): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(373): error C2923: 'boost::asio::detail::async_result_has_initiate_memfn': 'Signature' is not a valid template type argument for parameter 'Signature' .\boost/asio/async_result.hpp(374): error C2065: 'Signature': undeclared identifier .\boost/asio/async_result.hpp(375): error C2065: 'Initiation': undeclared identifier .\boost/asio/async_result.hpp(375): error C2065: 'initiation': undeclared identifier .\boost/asio/async_result.hpp(376): error C2065: 'token': undeclared identifier .\boost/asio/async_result.hpp(377): error C2065: 'Args': undeclared identifier .\boost/asio/async_result.hpp(377): warning C4346: 'boost::asio::detail::async_result_has_initiate_memfn::value': dependent name is not a type .\boost/asio/async_result.hpp(377): note: prefix with 'typename' to indicate a type .\boost/asio/async_result.hpp(377): error C2988: unrecognizable template declaration/definition .\boost/asio/async_result.hpp(377): error C2059: syntax error: '...' .\boost/asio/async_result.hpp(378): error C2143: syntax error: missing ';' before '{' .\boost/asio/async_result.hpp(378): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/async_result.hpp(483): error C7568: argument list missing after assumed function template 'completion_handler_for' .\boost/asio/async_result.hpp(487): note: see reference to class template instantiation 'boost::asio::detail::initiation_archetype<Signature>' being compiled .\boost/asio/async_result.hpp(484): error C2061: syntax error: identifier 'CompletionHandler' .\boost/asio/async_result.hpp(491): error C2061: syntax error: identifier 'completion_signature' .\boost/asio/async_result.hpp(492): error C2062: type 'bool' unexpected .\boost/asio/async_result.hpp(493): error C2143: syntax error: missing ';' before '{' .\boost/asio/async_result.hpp(493): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/post.hpp(56): error C2039: 'completion_token_for': is not a member of 'boost::asio' .\boost/asio/post.hpp(27): note: see declaration of 'boost::asio' .\boost/asio/post.hpp(56): error C2061: syntax error: identifier 'completion_token_for' .\boost/asio/post.hpp(56): error C2988: unrecognizable template declaration/definition .\boost/asio/post.hpp(56): error C2059: syntax error: '>' .\boost/asio/post.hpp(94): error C2039: 'completion_token_for': is not a member of 'boost::asio' .\boost/asio/post.hpp(27): note: see declaration of 'boost::asio' .\boost/asio/post.hpp(94): error C2061: syntax error: identifier 'completion_token_for' .\boost/asio/post.hpp(95): error C2988: unrecognizable template declaration/definition .\boost/asio/post.hpp(95): error C2059: syntax error: '>' .\boost/asio/post.hpp(107): error C2039: 'completion_token_for': is not a member of 'boost::asio' .\boost/asio/post.hpp(27): note: see declaration of 'boost::asio' .\boost/asio/post.hpp(107): error C2061: syntax error: identifier 'completion_token_for' .\boost/asio/post.hpp(108): error C2988: unrecognizable template declaration/definition .\boost/asio/post.hpp(108): error C2059: syntax error: '>' .\boost/asio/impl/post.hpp(81): error C2039: 'completion_token_for': is not a member of 'boost::asio' .\boost/asio/impl/post.hpp(26): note: see declaration of 'boost::asio' .\boost/asio/impl/post.hpp(81): error C2061: syntax error: identifier 'completion_token_for' .\boost/asio/impl/post.hpp(81): error C2988: unrecognizable template declaration/definition .\boost/asio/impl/post.hpp(81): error C2059: syntax error: '>' .\boost/asio/impl/post.hpp(84): error C2143: syntax error: missing ';' before '{' .\boost/asio/impl/post.hpp(84): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/impl/post.hpp(90): error C2039: 'completion_token_for': is not a member of 'boost::asio' .\boost/asio/impl/post.hpp(26): note: see declaration of 'boost::asio' .\boost/asio/impl/post.hpp(90): error C2061: syntax error: identifier 'completion_token_for' .\boost/asio/impl/post.hpp(90): error C2988: unrecognizable template declaration/definition .\boost/asio/impl/post.hpp(90): error C2059: syntax error: '>' .\boost/asio/impl/post.hpp(94): error C2143: syntax error: missing ';' before '{' .\boost/asio/impl/post.hpp(94): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/impl/post.hpp(100): error C2039: 'completion_token_for': is not a member of 'boost::asio' .\boost/asio/impl/post.hpp(26): note: see declaration of 'boost::asio' .\boost/asio/impl/post.hpp(100): error C2061: syntax error: identifier 'completion_token_for' .\boost/asio/impl/post.hpp(100): error C2988: unrecognizable template declaration/definition .\boost/asio/impl/post.hpp(100): error C2059: syntax error: '>' .\boost/asio/impl/post.hpp(105): error C2143: syntax error: missing ';' before '{' .\boost/asio/impl/post.hpp(105): error C2447: '{': missing function header (old-style formal list?) .\boost/asio/detail/buffer_sequence_adapter.hpp(106): error C2955: 'boost::asio::detail::buffer_sequence_adapter_base': use of class template requires template argument list .\boost/asio/detail/buffer_sequence_adapter.hpp(30): note: see declaration of 'boost::asio::detail::buffer_sequence_adapter_base' .\boost/asio/detail/buffer_sequence_adapter.hpp(208): note: see reference to class template instantiation 'boost::asio::detail::buffer_sequence_adapter ' being compiled .\boost/asio/detail/buffer_sequence_adapter.hpp(116): error C2143: syntax error: missing ';' before '*' .\boost/asio/detail/buffer_sequence_adapter.hpp(116): fatal error C1003: error count exceeds 100; stopping compilation Has anyone else encountered the same issues and how to resolve them?
It appears that the macro BOOST_ASIO_CONCEPT is the one causing the issue. This macro seems to have the value “concept bool” which causes the complaint from the compiler.
Kind regards, Leo
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users