我正在尝试构建一个 DLL,它实现了一个预编译静态库中的类所固有的类。
这两个项目都有一个共享的头文件,其中声明了第一个类(GroovyClass.h):
class GroovyClass
{
public:
GroovyClass();
virtual ~GroovyClass();
}
在静态库中,该类被定义和实现(GroovyClass.cpp)并编译(我们将结果称为GroovyClass.lib)。
在共享库/DLL 中,这个类会像这样被继承:
#include "GroovyClass.h"
class MassiveFail : GroovyClass
{
public:
MassiveFail();
virtual ~MassiveFail();
}
这可以编译,但在链接阶段我收到有关GroovyClass 构造函数和析构函数的未解析符号的错误。我像往常一样与GroovyClass.lib链接,所以我不明白为什么它找不到符号。
我是否需要以某种特殊方式声明 GroovyClass,然后才能在我的 DLL 项目中使用/继承它?