gnuradio-3.3.0 Build Error on Ub…

来源:互联网 发布:阿里云cdn加速服务 编辑:程序博客网 时间:2024/04/29 22:43
Today, I use another computer to compile gnuradio-3.3.0 and findthe error. >_<!
When I run "make", itruns for a while and then exits with the following error(s):
srp2.cc:41:33: error: type/value mismatch at argument 1 in templateparameter list for ‘template<class T> class boost::weak_ptr’usrp2.cc:41:33: error:   expected a type, got ‘usrp2::usrp2::usrp2’usrp2.cc:43:75: error: type/value mismatch at argument 1 in templateparameter list for ‘template<class T> class boost::weak_ptr’usrp2.cc:43:75: error:   expected a type, got ‘usrp2::usrp2::usrp2’usrp2.cc: In static member function ‘static usrp2::usrp2::sptrusrp2::usrp2::find_existing_or_make_new(const std::string&,usrp2::props*, size_t)’:usrp2.cc:60:20: error: request for member ‘expired’ in‘p.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator->[with _Iterator = usrp2::usrp_table_entry*, _Container =std::vector<usrp2::usrp_table_entry>,__gnu_cxx::__normal_iterator<_Iterator, _Container>::pointer =usrp2::usrp_table_entry*]()->usrp2::usrp_table_entry::value’, which isof non-class type ‘int’usrp2.cc:64:31: error: no matching function for call to‘boost::shared_ptr<usrp2::usrp2>::shared_ptr(int&)’/usr/include/boost/smart_ptr/shared_ptr.hpp:182:5: note: candidatesare: boost::shared_ptr<T>::shared_ptr() [with T = usrp2::usrp2]/usr/include/boost/smart_ptr/shared_ptr.hpp:169:1: note:  boost::shared_ptr<usrp2::usrp2>::shared_ptr(constboost::shared_ptr<usrp2::usrp2>&)usrp2.cc:73:23: error: expected type-specifierusrp2.cc:73:23: error: expected ‘)’usrp2.cc:74:30: error: no matching function for call to‘usrp2::usrp_table_entry::usrp_table_entry(std::string&,usrp2::usrp2::sptr&)’usrp2.cc:43:5: note: candidates are:usrp2::usrp_table_entry::usrp_table_entry(const std::string&, int)usrp2.cc:38:27: note:usrp2::usrp_table_entry::usrp_table_entry(constusrp2::usrp_table_entry&)In file included from /usr/include/boost/shared_ptr.hpp:17:0,                 from/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2/host/include/usrp2/usrp2.h:22,                 from usrp2.cc:23:/usr/include/boost/smart_ptr/shared_ptr.hpp: In constructor‘boost::shared_ptr<T>::shared_ptr(Y*) [with Y = int, T =usrp2::usrp2]’:usrp2.cc:73:56:   instantiated from here/usr/include/boost/smart_ptr/shared_ptr.hpp:187:50: error: cannotconvert ‘int*’ to ‘usrp2::usrp2*’ in initializationmake[4]: *** [usrp2.lo] Error 1make[4]: Leaving directory`/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2/host/lib'make[3]: *** [all-recursive] Error 1make[3]: Leaving directory`/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2/host'make[2]: *** [all-recursive] Error 1make[2]: Leaving directory`/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2'make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/home/Maverick/Desktop/Research/gnuradio-3.3.0'make: *** [all] Error 2

I have never met this error before and I do some research on google finding the solution. it should change some codes. Next is the diff:
diff --git a/usrp2/host/lib/usrp2.cc b/usrp2/host/lib/usrp2.ccindex f0ee564..0842482 100644--- a/usrp2/host/lib/usrp2.cc+++ b/usrp2/host/lib/usrp2.cc@@ -38,9 +38,9 @@ namespace usrp2 {   struct usrp_table_entry {     // inteface + normalized mac addr ("eth0:01:23:45:67:89:ab")     std::string        key;-    boost::weak_ptr<usrp2::usrp2>  value;+    boost::weak_ptr<usrp2>  value; -    usrp_table_entry(const std::string &_key, boost::weak_ptr<usrp2::usrp2> _value)+    usrp_table_entry(const std::string &_key, boost::weak_ptr<usrp2> _value)       : key(_key), value(_value) {}   }; @@ -70,7 +70,7 @@ namespace usrp2 {     // We don't have the USRP2 we're looking for      // create a new one and stick it in the table.-    usrp2::sptr r(new usrp2::usrp2(ifc, pr, rx_bufsize));+    usrp2::sptr r(new usrp2(ifc, pr, rx_bufsize));     usrp_table_entry t(key, r);     s_table.push_back(t);
reference : 
http://lists.gnu.org/archive/html/discuss-gnuradio/2010-11/msg00119.html
http://lists.gnu.org/archive/html/discuss-gnuradio/2010-11/txtmYZKblx4HF.txt
原创粉丝点击