Я пытаюсь создать версию Caffe для обнаружения объектов под названием SSD
Я проверил код и получаю ошибку cannot call member function ‘boost::multi_index::detail::sequenced_index_node<Super>::impl_pointer boost::multi_index::detail::sequenced_index_node<Super>::impl()
, которая, похоже, связана с надстройкойбиблиотека и я установили boost как зависимость:
NVCC src/caffe/layers/cudnn_conv_layer.cu
/usr/include/boost/multi_index/detail/seq_index_node.hpp: In instantiation of ‘static void boost::multi_index::detail::sequenced_index_node<Super>::increment(boost::multi_index::detail::sequenced_index_node<Super>*&) [with Super = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > > > >]’:
/usr/include/boost/multi_index/detail/bidir_node_iterator.hpp:55:16: required from ‘boost::multi_index::detail::bidir_node_iterator<Node>& boost::multi_index::detail::bidir_node_iterator<Node>::operator++() [with Node = boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > > > > >]’
/usr/include/boost/multi_index_container.hpp:269:73: required from ‘boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>::multi_index_container(const boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>&) [with Value = std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >; IndexSpecifierList = boost::multi_index::indexed_by<boost::multi_index::sequenced<boost::multi_index::tag<> >, boost::multi_index::ordered_non_unique<boost::multi_index::tag<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >::subs::by_name, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::member<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, const std::__cxx11::basic_string<char>, &std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::first>, std::less<std::__cxx11::basic_string<char> > >, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>; Allocator = std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > >]’
/usr/include/boost/property_tree/detail/ptree_implementation.hpp:191:94: required from ‘boost::property_tree::basic_ptree<Key, Data, KeyCompare>::basic_ptree(const boost::property_tree::basic_ptree<Key, Data, KeyCompare>&) [with Key = std::__cxx11::basic_string<char>; Data = std::__cxx11::basic_string<char>; KeyCompare = std::less<std::__cxx11::basic_string<char> >]’
src/caffe/layers/detection_output_layer.cu:220:29: required from ‘void caffe::DetectionOutputLayer<Dtype>::Forward_gpu(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&) [with Dtype = float]’
src/caffe/layers/detection_output_layer.cu:302:147: required from here
/usr/include/boost/multi_index/detail/seq_index_node.hpp:198:23: error: cannot call member function ‘boost::multi_index::detail::sequenced_index_node<Super>::impl_pointer boost::multi_index::detail::sequenced_index_node<Super>::impl() [with Super = boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > > > > >; boost::multi_index::detail::sequenced_index_node<Super>::impl_pointer = boost::multi_index::detail::sequenced_index_node_impl<std::allocator<char> >*]’ without object
impl_pointer xi=x->impl();
~~~~^~
Есть мысли, как это исправить?