我有一个普通的抽象类,它有几个纯虚方法。类本身是共享库的一部分。共享库本身的编译是可以的。但是,当该库链接到另一个程序时,该程序具有从共享库中的抽象类派生的另一个类并定义纯虚拟方法,我收到以下链接器错误。
我这样编译..:
g++ -I../path/to/the/library main.cpp derived.cpp -L../path/to/the/library -lsomename -o shared
链接器错误是:
libsomename.so:未定义对“AbstractClass::method()”的引用
就像抽象类无法访问其纯虚拟方法一样,但我不会尝试在库中的任何位置创建抽象类的任何实例。
可能是什么问题呢?