#include
#include
auto main() -> int
{
boost::asio::io_context ctx;
boost::asio::serial_port p(ctx);
return 0;
}
< /code>
Это не может компилировать для меня в Visual Studio 17.12.4 (самая новая), когда я использую оба /Std: C ++ 20 < /code> (или выше) и V143 Toolkit. Он работает как с инструментарием V142, так и с версией нижнего языка - только комбинация обоих не может построить. Моя версия Boost - 1.84.0. Сообщение об ошибке: < /p>
------ Build started: Project: sandbox, Configuration: Debug x64 ------
main.cpp
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): error C2665: 'boost::asio::any_io_executor::any_io_executor': no overloaded function could convert all the argument types
(compiling source file 'main.cpp')
c:\vcpkg_dir\include\boost\asio\impl\any_io_executor.ipp(34,18):
could be 'boost::asio::any_io_executor::any_io_executor(std::nullptr_t) noexcept'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
'boost::asio::any_io_executor::any_io_executor(std::nullptr_t) noexcept': cannot convert argument 1 from 'boost::asio::io_context::executor_type' to 'std::nullptr_t'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,37):
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(184,3):
or 'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type) noexcept'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type) noexcept': expects 3 arguments - 1 provided
c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(162,3):
or 'boost::asio::any_io_executor::any_io_executor(Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type)'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
Failed to specialize function template 'boost::asio::any_io_executor::any_io_executor(Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type)'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
With the following template arguments:
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
'Executor=boost::asio::io_context::executor_type'
c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(163,7):
'boost::asio::constraint_t' : Failed to specialize alias template
c:\vcpkg_dir\include\boost\asio\detail\type_traits.hpp(169,60):
'type': is not a member of any direct or indirect base class of 'boost::asio::constraint'
c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(132,3):
or 'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type) noexcept'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type) noexcept': expects 3 arguments - 1 provided
c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(108,3):
or 'boost::asio::any_io_executor::any_io_executor(OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type)'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
Failed to specialize function template 'boost::asio::any_io_executor::any_io_executor(OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type)'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
With the following template arguments:
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
'OtherAnyExecutor=boost::asio::io_context::executor_type'
c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(109,7):
'boost::asio::constraint_t' : Failed to specialize alias template
c:\vcpkg_dir\include\boost\asio\detail\type_traits.hpp(169,60):
'type': is not a member of any direct or indirect base class of 'boost::asio::constraint'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
while trying to match the argument list '(boost::asio::io_context::executor_type)'
c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16):
the template instantiation context (the oldest one first) is
C:\Users\me\source\repos\sandbox\sandbox\main.cpp(21,31):
see reference to function template instantiation 'boost::asio::basic_serial_port::basic_serial_port(ExecutionContext &,const char *,int)' being compiled
with
[
ExecutionContext=boost::asio::io_context
]
C:\Users\me\source\repos\sandbox\sandbox\main.cpp(21,31):
see the first reference to 'boost::asio::basic_serial_port::basic_serial_port' in 'main'
c:\vcpkg_dir\include\boost\asio\basic_serial_port.hpp(158,12):
see reference to function template instantiation 'boost::asio::detail::io_object_impl::io_object_impl(int,int,ExecutionContext &)' being compiled
with
[
Executor=boost::asio::any_io_executor,
ExecutionContext=boost::asio::io_context
]
Кажется, я не могу найти никакой информации об этой ошибке. Это моя очень простая программа повышения asio: [code]#include #include
auto main() -> int { boost::asio::io_context ctx; boost::asio::serial_port p(ctx); return 0; } < /code> Это не может компилировать для меня в Visual Studio 17.12.4 (самая новая), когда я использую оба /Std: C ++ 20 < /code> (или выше) и V143 Toolkit. Он работает как с инструментарием V142, так и с версией нижнего языка - только комбинация обоих не может построить. Моя версия Boost - 1.84.0. Сообщение об ошибке: < /p> ------ Build started: Project: sandbox, Configuration: Debug x64 ------ main.cpp c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): error C2665: 'boost::asio::any_io_executor::any_io_executor': no overloaded function could convert all the argument types (compiling source file 'main.cpp') c:\vcpkg_dir\include\boost\asio\impl\any_io_executor.ipp(34,18): could be 'boost::asio::any_io_executor::any_io_executor(std::nullptr_t) noexcept' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): 'boost::asio::any_io_executor::any_io_executor(std::nullptr_t) noexcept': cannot convert argument 1 from 'boost::asio::io_context::executor_type' to 'std::nullptr_t' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,37): No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(184,3): or 'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type) noexcept' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): 'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type) noexcept': expects 3 arguments - 1 provided c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(162,3): or 'boost::asio::any_io_executor::any_io_executor(Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type)' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): Failed to specialize function template 'boost::asio::any_io_executor::any_io_executor(Executor,constraint::value,boost::asio::execution::detail::is_valid_target_executor,std::false_type>::value,int>::type)' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): With the following template arguments: c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): 'Executor=boost::asio::io_context::executor_type' c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(163,7): 'boost::asio::constraint_t' : Failed to specialize alias template c:\vcpkg_dir\include\boost\asio\detail\type_traits.hpp(169,60): 'type': is not a member of any direct or indirect base class of 'boost::asio::constraint' c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(132,3): or 'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type) noexcept' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): 'boost::asio::any_io_executor::any_io_executor(std::nothrow_t,OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type) noexcept': expects 3 arguments - 1 provided c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(108,3): or 'boost::asio::any_io_executor::any_io_executor(OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type)' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): Failed to specialize function template 'boost::asio::any_io_executor::any_io_executor(OtherAnyExecutor,constraint::value,boost::asio::execution::detail::supportable_properties::is_valid_target,std::false_type>::value,int>::type)' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): With the following template arguments: c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): 'OtherAnyExecutor=boost::asio::io_context::executor_type' c:\vcpkg_dir\include\boost\asio\any_io_executor.hpp(109,7): 'boost::asio::constraint_t' : Failed to specialize alias template c:\vcpkg_dir\include\boost\asio\detail\type_traits.hpp(169,60): 'type': is not a member of any direct or indirect base class of 'boost::asio::constraint' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): while trying to match the argument list '(boost::asio::io_context::executor_type)' c:\vcpkg_dir\include\boost\asio\detail\io_object_impl.hpp(59,16): the template instantiation context (the oldest one first) is C:\Users\me\source\repos\sandbox\sandbox\main.cpp(21,31): see reference to function template instantiation 'boost::asio::basic_serial_port::basic_serial_port(ExecutionContext &,const char *,int)' being compiled with [ ExecutionContext=boost::asio::io_context ] C:\Users\me\source\repos\sandbox\sandbox\main.cpp(21,31): see the first reference to 'boost::asio::basic_serial_port::basic_serial_port' in 'main' c:\vcpkg_dir\include\boost\asio\basic_serial_port.hpp(158,12): see reference to function template instantiation 'boost::asio::detail::io_object_impl::io_object_impl(int,int,ExecutionContext &)' being compiled with [ Executor=boost::asio::any_io_executor, ExecutionContext=boost::asio::io_context ] [/code] Есть какие-нибудь подсказки?
Один из наших файлов проекта VS C++ предназначен для инструментов сборки v142, и его можно успешно собрать с помощью MS Build Tool 2019 на нашем ' построить машину»
но локально (а также на «машинах сборки» для других клиентов)...