我在DLL中实现类的问题与解释here的方式相同 。我有我所有声明为虚拟的方法的接口,我有我的类实现接口,我有应该创建类的对象的方法。问题出在这里,当我尝试使用它时,我得到一个“未引用的外部符号”错误。为什么呢?
class IXYZ
{
virtual void XXX() = 0;
};
class XYZ : public IXYZ
{
void XXX();
}
#ifdef __cplusplus
extern "C" __declspec(dllexport) IXYZ* __stdcall GetIXYZ();
#endif
我在win32程序中使用它:
IXYZ *myvar = GetIXYZ();
在我的exe程序中,我已经包含了dll的.h文件
答案 0 :(得分:1)
如果您已正确定义DLL中的函数并正确导出,那么唯一合理的解释是您在使用DLL的应用程序中使用.lib文件时出现问题。