gnuradio-3.3.0 Build Error on Ub…
2013-05-24 17:02
441 查看
Today, I use another computer to compile gnuradio-3.3.0 and find
the error. >_<!
http://lists.gnu.org/archive/html/discuss-gnuradio/2010-11/msg00119.html http://lists.gnu.org/archive/html/discuss-gnuradio/2010-11/txtmYZKblx4HF.txt
the error. >_<!
When I run "make", it runs for a while and then exits with the following error(s):
srp2.cc:41:33: error: type/value mismatch at argument 1 in template parameter 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 template parameter 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::sptr usrp2::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 is of 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: candidates are: 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(const boost::shared_ptr<usrp2::usrp2>&) usrp2.cc:73:23: error: expected type-specifier usrp2.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(const usrp2::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: cannot convert ‘int*’ to ‘usrp2::usrp2*’ in initialization make[4]: *** [usrp2.lo] Error 1 make[4]: Leaving directory `/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2/host/lib' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2/host' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/Maverick/Desktop/Research/gnuradio-3.3.0/usrp2' make[1]: *** [all-recursive] Error 1 make[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:
reference :
diff --git a/usrp2/host/lib/usrp2.cc b/usrp2/host/lib/usrp2.cc
index 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);
http://lists.gnu.org/archive/html/discuss-gnuradio/2010-11/msg00119.html http://lists.gnu.org/archive/html/discuss-gnuradio/2010-11/txtmYZKblx4HF.txt
相关文章推荐
- Eclipse build error 解决方法The library '*.jar' contains native libraries that will not run on the dev
- gnuradio-3.3.0 Build Error on Ubuntu 11.04
- IIS7.5 An error occurred on the …
- Error ORA-19606 on RMAN Delete
- IIS7中出现An error occurred on t…
- vb中关于on Error的处理
- Configuring FTP on Exadata <转…
- 【Java Web】The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- Error_code: 2003
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- bzoj 1696 [Usaco2007 Feb]Buildin…
- Eclipse:An internal error occurred during: "Build Project". GC overhead limit exceeded
- Error 000464 : 无…
- [转]JavaWeb:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- BUG_ON&&WARN_ON&BUILD_BUG_ON
- ACM: dp题 poj 1276 go on 动态规…
- PHP提示 Fatal error: Class 'DOMD…
- systemtap ERROR: Build-id mismatch: "kernel" vs. "vmlinux" byte 0
- pe install error 2221
- [js]Uncaught&nbsp;RangeError:&amp;nb…