openauto 编译错误

openauto 编译错误

错误图片链接

/usr/include/c++/9/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = f1x::openauto::autoapp::service::VideoService; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}; _Tp = f1x::openauto::autoapp::service::VideoService]’:
/usr/include/c++/9/bits/alloc_traits.h:483:4:   required from ‘static void std::allocator_traits<std::allocator<_Tp> >::construct(std::allocator_traits<std::allocator<_Tp> >::allocator_type&, _Up*, _Args&& ...) [with _Up = f1x::openauto::autoapp::service::VideoService; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}; _Tp = f1x::openauto::autoapp::service::VideoService; std::allocator_traits<std::allocator<_Tp> >::allocator_type = std::allocator<f1x::openauto::autoapp::service::VideoService>]’
/usr/include/c++/9/bits/shared_ptr_base.h:548:39:   required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}; _Tp = f1x::openauto::autoapp::service::VideoService; _Alloc = std::allocator<f1x::openauto::autoapp::service::VideoService>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/9/bits/shared_ptr_base.h:679:16:   required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = f1x::openauto::autoapp::service::VideoService; _Alloc = std::allocator<f1x::openauto::autoapp::service::VideoService>; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71:   required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<f1x::openauto::autoapp::service::VideoService>; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}; _Tp = f1x::openauto::autoapp::service::VideoService; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’
/usr/include/c++/9/bits/shared_ptr.h:359:59:   required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<f1x::openauto::autoapp::service::VideoService>; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}; _Tp = f1x::openauto::autoapp::service::VideoService]’
/usr/include/c++/9/bits/shared_ptr.h:701:14:   required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = f1x::openauto::autoapp::service::VideoService; _Alloc = std::allocator<f1x::openauto::autoapp::service::VideoService>; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}]’
/usr/include/c++/9/bits/shared_ptr.h:717:39:   required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = f1x::openauto::autoapp::service::VideoService; _Args = {boost::asio::io_context&, std::shared_ptr<f1x::aasdk::messenger::IMessenger>&, std::shared_ptr<f1x::openauto::autoapp::projection::IVideoOutput>}]’
/home/abdelrahman/Downloads/openauto-development/src/autoapp/Service/ServiceFactory.cpp:81:88:   required from here
/usr/include/c++/9/ext/new_allocator.h:146:4: error: invalid new-expression of abstract class type ‘f1x::openauto::autoapp::service::VideoService’
  146 |  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/abdelrahman/Downloads/openauto-development/src/autoapp/Service/ServiceFactory.cpp:25:
/home/abdelrahman/Downloads/openauto-development/include/f1x/openauto/autoapp/Service/VideoService.hpp:36:7: note:   because the following virtual functions are pure within ‘f1x::openauto::autoapp::service::VideoService’:
   36 | class VideoService: public aasdk::channel::av::IVideoServiceChannelEventHandler, public IService, public std::enable_shared_from_this<VideoService>
      |       ^~~~~~~~~~~~
In file included from /home/abdelrahman/Desktop/aasdk/include/f1x/aasdk/Channel/AV/IVideoServiceChannel.hpp:28,
                 from /home/abdelrahman/Desktop/aasdk/include/f1x/aasdk/Channel/AV/VideoServiceChannel.hpp:22,
                 from /home/abdelrahman/Downloads/openauto-development/include/f1x/openauto/autoapp/Service/VideoService.hpp:22,
                 from /home/abdelrahman/Downloads/openauto-development/src/autoapp/Service/ServiceFactory.cpp:25:
/home/abdelrahman/Desktop/aasdk/include/f1x/aasdk/Channel/AV/IVideoServiceChannelEventHandler.hpp:50:18: note:  ‘virtual void f1x::aasdk::channel::av::IVideoServiceChannelEventHandler::onAVChannelStopIndication(const f1x::aasdk::proto::messages::AVChannelStopIndication&)’
   50 |     virtual void onAVChannelStopIndication(const proto::messages::AVChannelStopIndication& indication) = 0;
      |                  ^~~~~~~~~~~~~~~~~~~~~~~~~

相关内容