在BCB中使用com的一个问题!!!(sql-dmo)
//头文件中
#include <sqldmoid.h>
#include <sqldmo.h>
LPSQLDMOSERVER m_pSQLServer;
//cpp文件中
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
if (!InitSQLServer())
return;
}
BOOL TfrmMain::InitSQLServer()
{
HRESULT hr;
if FAILED(hr = CoInitialize (NULL))
{
MessageBox(NULL, TEXT("CoInitialize Failed"), TEXT("Error"), MB_OK);
return FALSE;
}
if FAILED(hr = CoCreateInstance (CLSID_SQLDMOServer, NULL, CLSCTX_INPROC_SERVER,
IID_ISQLDMOServer, (LPVOID*)&m_pSQLServer))
{
MessageBox(NULL, TEXT("Sever: CoCreateInstance Failed"), TEXT("Error"), MB_OK);
return FALSE;
}
return TRUE;
}
编译通过,但是,Build时会报以下错误。
[Linker Error] Unresolved external '_IID_IWSQLDMOServer' referenced from Z:\SETUP\POSSETUP\BCB\SETUPSERVER\MAINFORM.OBJ
[Linker Error] Unresolved external '_CLSID_SQLDMOServer' referenced from Z:\SETUP\POSSETUP\BCB\SETUPSERVER\MAINFORM.OBJ
同样的程序在VC中运行正常。现要转成BCB。难道还要link特别的程序库吗?