Looks like a a C++ or boost question? Are you experienced in using C++ templates?
Regards, Johan On Sat, 25 Jan 2014, MHMND Herath wrote:
Dear Sir When I trying to implement message passing between 2 blocks called a1_ff and a2_ff following error comes when comiling. I cannot trace it. Thanks Neil ----------------------------------------- Scanning dependencies of target gnuradio-avg [ 5%] Building CXX object lib/CMakeFiles/gnuradio-avg.dir/a1_ff_impl.cc.o In file included from /usr/include/boost/bind.hpp:22:0, from /usr/include/boost/thread/detail/thread.hpp:29, from /usr/include/boost/thread/thread.hpp:22, from /usr/local/include/gnuradio/thread/thread.h:26, from /usr/local/include/gnuradio/basic_block.h:31, from /usr/local/include/gnuradio/block.h:27, from /usr/local/include/gnuradio/sync_block.h:27, from /home/neil/gr-avg/include/avg/a1_ff.h:26, from /home/neil/gr-avg/lib/a1_ff_impl.h:23, from /home/neil/gr-avg/lib/a1_ff_impl.cc:26: /usr/include/boost/bind/bind.hpp: In instantiation of ?struct boost::_bi::result_traits<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)()>?: /usr/include/boost/bind/bind_template.hpp:15:48: required from ?class boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >? /home/neil/gr-avg/lib/a1_ff_impl.cc:49:43: required from here /usr/include/boost/bind/bind.hpp:69:37: error: ?void (gr::avg::a1_ff_impl::*)()? is not a class, struct, or union type typedef typename F::result_type type; ^ In file included from /usr/include/boost/function/detail/maybe_include.hpp:18:0, from /usr/include/boost/function/detail/function_iterate.hpp:14, from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, from /usr/include/boost/function.hpp:64, from /usr/local/include/gnuradio/basic_block.h:33, from /usr/local/include/gnuradio/block.h:27, from /usr/local/include/gnuradio/sync_block.h:27, from /home/neil/gr-avg/include/avg/a1_ff.h:26, from /home/neil/gr-avg/lib/a1_ff_impl.h:23, from /home/neil/gr-avg/lib/a1_ff_impl.cc:26: /usr/include/boost/function/function_template.hpp: In instantiation of ?static void boost::detail::function::void_function_obj_invoker1<FunctionObj, R, T0>::invoke(boost::detail::function::function_buffer&, T0) [with FunctionObj = boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >; R = void; T0 = boost::intrusive_ptr<pmt::pmt_base>]?: /usr/include/boost/function/function_template.hpp:934:38: required from ?void boost::function1<R, T1>::assign_to(Functor) [with Functor = boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >; R = void; T0 = boost::intrusive_ptr<pmt::pmt_base>]? /usr/include/boost/function/function_template.hpp:722:7: required from ?boost::function1<R, T1>::function1(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >; R = void; T0 = boost::intrusive_ptr<pmt::pmt_base>; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]? /usr/include/boost/function/function_template.hpp:1069:16: required from ?boost::function<R(T0)>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type) [with Functor = boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >; R = void; T0 = boost::intrusive_ptr<pmt::pmt_base>; typename boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value, int>::type = int]? /usr/local/include/gnuradio/basic_block.h:344:34: required from ?void gr::basic_block::set_msg_handler(pmt::pmt_t, T) [with T = boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >; pmt::pmt_t = boost::intrusive_ptr<pmt::pmt_base>]? /home/neil/gr-avg/lib/a1_ff_impl.cc:49:44: required from here /usr/include/boost/function/function_template.hpp:153:11: error: no match for call to ?(boost::_bi::bind_t<boost::_bi::unspecified, void (gr::avg::a1_ff_impl::*)(), boost::_bi::list2<boost::_bi::value<gr::avg::a1_ff_impl*>, boost::arg<1> > >) (boost::intrusive_ptr<pmt::pmt_base>&)? BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); ^ make[2]: *** [lib/CMakeFiles/gnuradio-avg.dir/a1_ff_impl.cc.o] Error 1 make[1]: *** [lib/CMakeFiles/gnuradio-avg.dir/all] Error 2 make: *** [all] Error 2 neil@neil-pc:~/gr-avg/build$ _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio