Я вижу следующее сообщение об ошибке при попытке связать библиотеку в одном проекте с другим в том же решении:
CPTemplate.obj : error LNK2019: unresolved external symbol "public: long __thiscall MPADOFieldList::GetField(wchar_t *,struct Field * *)" (?GetField@MPADOFieldList@@QAEJPA_WPAPAUField@@@Z) referenced in function "public: virtual long __stdcall CCPTemplate::GetRootStorage(struct IMPRootStore * *)" (?GetRootStorage@CCPTemplate@@UAGJPAPAUIMPRootStore@@@Z)
Использование 'dumpbin / symbols' для статической библиотеки, которую ясвязывание с показывает другой символ для метода «GetField»:
?GetField@MPADOFieldList@@QAEJPA_WPAPAUADOField@@@Z (public: long __thiscall MPADOFieldList::GetField(wchar_t *,struct ADOField * *))
Очевидно, что разница «Поле» и «ADOField».Поле определяется в указанном заголовке:
typedef interface ADOField Field;
Объявление метода GetField выглядит следующим образом:
HRESULT GetField( BSTR bstrFieldName, Field** rpField );