我在解释DLL中的类时遇到了问题,方法与解释here 相同。我有我的接口与所有声明为虚拟的方法,我有我的类实现接口,我有方法,应该创建类的对象。问题在这里,当我尝试使用它时,我得到一个“未引用的外部符号”错误。为什么?DLL函数调用期间未引用的外部符号
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
您是否改变了declspec来为应用程序导入dllimport? –
构建应用程序时,您链接了DLL的lib文件吗? –
@PiorLegnica是的,我使用标准的视觉工作室宏导出东西 – Stefano