执行程序时出现以下错误:
E:无法加载libsim.so:libsim.so:未定义符号:_ZTV15IteratorRegFile
在 sim.cpp 中有 s.th。像
//IteratorRegFileIs is a wrapper that calls the constructor for IteratorRegFile
Fwk::Ptr<IteratorRegFile> iteratorRegFile_ = IteratorRegFile::IteratorRegFileIs( "RF" );
void init(){
SparseArrayInt64 *sparse_array = new SparseArrayInt64(segID);
}
在 SparseArrayInt64.cpp 中:
extern Fwk::Ptr<IteratorRegFile> iteratorRegFile_;
迭代器RegFile.h:
public:
static IteratorRegFile::ValidPtr IteratorRegFileIs(Tac::Name _name) {
IteratorRegFile * m = new IteratorRegFile(_name);
m->referencesDec(1);
return m;
}
protected:
IteratorRegFile( const IteratorRegFile& );
explicit IteratorRegFile(Tac::Name _name): Tac::Entity(_name),
index_(0) {
handleInit();
}
知道为什么编译器会修改函数以使 lib 不再找到它吗?