新手问题:编译DLL时报错(高分,在线等待)
我用的是Win32 Dynamic-Link Library新建的工程:
代码完成后编译提示报错...出错信息如下:
--------------------Configuration: ETTEST - Win32 Debug--------------------
Compiling...
EtTEST.cpp
StdAfx.cpp
Linking...
Creating library Debug/ETTEST.lib and object Debug/ETTEST.exp
EtTEST.obj : error LNK2001: unresolved external symbol _OSDModCreateInstance@16
EtTEST.obj : error LNK2001: unresolved external symbol _CLSID_CRMA
EtTEST.obj : error LNK2001: unresolved external symbol _IID_IRMA
Debug/ETDVD.dll : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
Creating browse info file...
ETTEST.dll - 4 error(s), 0 warning(s)
出错的代码如下:
int InitOSDDriver(void)
{
if(QFAILED(OSDModCreateInstance(0, &CLSID_CRMA, &IID_IRMA,(void**)(&(Info.pIRma)))))
{
Info.pIRma = NULL;
return 0;
}
return 1;
}
CLSID_CRMA, IID_IRMA这两个定义如下:
#ifndef RM_LIB_QGUID_ENTRY
typedef unsigned long QGUID;
#ifndef INITGUID
#define RM_LIB_QGUID_ENTRY(name, l) \
EXTERN_C QGUID name;
#else
#define RM_LIB_QGUID_ENTRY(name, l) \
EXTERN_C QGUID name \
= { l };
#endif // INITGUID
#endif
RM_LIB_QGUID_ENTRY(IID_IRMA,0x00000001)
RM_LIB_QGUID_ENTRY(CLSID_CRMA,0x00010000)
我是新手,请教各位这几个错误怎么解决,谢谢?