[问题]undefined reference to 'typeinfo for..'

楼主: Phantasnix (凰响)   2013-01-05 00:38:59
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文求救。
作者: ric2k1 (Ric)   2013-01-05 01:29:00
如果 virutal function, static 都检查过了,哪可能只好把心写的东西用 binary search comment out 掉,看看到底是(新写) | 哪里的问题...
作者: djshen (djshen)   2013-01-05 02:03:00
明年可以教一下版本控制XD
作者: ric2k1 (Ric)   2013-01-05 02:08:00
是吗? 我想版本控制的 tool 应该摸一下就上手了吧! 问题是没有机会练习的话可能有是没有用... (我来想想新的 project
作者: yan12125 (姥姥)   2013-01-05 16:15:00
少const?
作者: ric2k1 (Ric)   2013-01-05 20:18:00
的确有可能因为少 const 而被视为不同 functions, 造成某些pure virtualfunction 没有被所有的 derived class inherit
作者: wmin0 (小新)   2013-01-05 22:07:00
不是function的undefined refernece 是type的vtable整个不见编.o是不是把vtable统统干掉了

Links booklink

Contact Us: admin [ a t ] ucptt.com