作者Phantasnix (凰響)
看板EE_DSnP
標題[問題]undefined reference to 'typeinfo for..'
時間Sat Jan 5 00:38:59 2013
class中的static member有在cpp中初始化。(unsigned CirGate::_globalRef = 0;)
pure virtual function在每個子class中都有實作。
先前也發生過這樣的狀況,所以我把上述重check了遍。也make clean過。
把新寫的幾個function先comment掉。將class狀態回復到先前可以compile的狀態。
但還是跳出這樣的訊息:
../../lib/libcir.a(cirMgr.o): In function
`CirMgr::readCircuit(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)':
/home/phantasnix/DSnP/fraig/src/cir/cirMgr.cpp:233: undefined reference to
`typeinfo for AIG'
/home/phantasnix/DSnP/fraig/src/cir/cirMgr.cpp:233: undefined reference to
`typeinfo for AIG'
../../lib/libcir.a(cirMgr.o): In function
`CirMgr::writeAag(std::basic_ostream<char, std::char_traits<char> >&) const':
/home/phantasnix/DSnP/fraig/src/cir/cirMgr.cpp:435: undefined reference to
`typeinfo for AIG'
/home/phantasnix/DSnP/fraig/src/cir/cirMgr.cpp:435: undefined reference to
`typeinfo for AIG'
../../lib/libcir.a(cirMgr.o): In function `AIG':
/home/phantasnix/DSnP/fraig/src/cir/cirGate.h:131: undefined reference to
`vtable for AIG'
google後除了最開始提到的原因,要解決都是link library層面的東西.....
但是先前可以compile的,應該是我還少check了什麼,實在一籌莫展PO文求救。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.243.201
1F:推 ric2k1:如果 virutal function, static 都檢查過了,哪可能只好 01/05 01:29
2F:→ ric2k1:把心寫的東西用 binary search comment out 掉,看看到底是 01/05 01:29
3F:→ ric2k1: (新寫) | 哪裡的問題... 01/05 01:30
4F:→ djshen:明年可以教一下版本控制XD 01/05 02:03
5F:推 ric2k1:是嗎? 我想版本控制的 tool 應該摸一下就上手了吧! 問題是 01/05 02:08
6F:→ ric2k1:沒有機會練習的話可能有是沒有用... (我來想想新的 project 01/05 02:08
※ 編輯: Phantasnix 來自: 140.112.243.201 (01/05 12:20)
7F:推 yan12125:少const? 01/05 16:15
8F:推 ric2k1:的確有可能因為少 const 而被視為不同 functions, 造成某些 01/05 20:18
9F:→ ric2k1:pure virtualfunction 沒有被所有的 derived class inherit 01/05 20:19
10F:推 wmin0:不是function的undefined refernece 是type的vtable整個不見 01/05 22:07
11F:→ wmin0:編.o是不是把vtable統統幹掉了 01/05 22:08