Здравствуйте, Darina2204, Вы писали:
D>при построении фильтра nullnull.ax выдаются ошибки:
D>Error 10 fatal error LNK1120: 3 unresolved externals Debug_Unicode\nullnull.ax D>Error 8 error LNK2019: unresolved external symbol __vswprintf referenced in function "void __cdecl DbgLogInfo(unsigned long,unsigned long,wchar_t const *,...)" (?DbgLogInfo@@YAXKKPB_WZZ) strmbasd.lib D>Error 9 error LNK2019: unresolved external symbol __swprintf referenced in function "public: __thiscall CDisp::CDisp(double)" (??0CDisp@@QAE@N@Z) strmbasd.lib D>Error 4 error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function __ehhandler$?CreateInstance@CNullNull@@SGPAVCUnknown@@PAUIUnknown@@PAJ@Z nullnull.obj D>Error 1 error LNK2001: unresolved external symbol ___CxxFrameHandler3 strmbasd.lib D>...
D>Подскажите, что я не так могу делать. Заранее спасибо)
Скорее всего Вы все делаете так. Проблема в том, что необходимо подключить дополнительные *.lib файлы. Это ошибки линковшика — он не может найти библиотеку strmbasd.lib. Чтобы все заработало попробуйте в свойствах проекта в закладке Linker/Input написать что-то вроде
Здравствуйте, Darina2204, Вы писали:
D>SampleHandler error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,unsigned short const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PBG@Z) D>SampleHandler error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(unsigned short * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPAG@Z) D>SampleHandler error LNK2001: unresolved external symbol "public: virtual long __stdcall CTransformFilter::FindPin(unsigned short const *,struct IPin * *)" (?FindPin@CTransformFilter@@UAGJPBGPAPAUIPin@@@Z) D>SampleHandler error LNK2001: unresolved external symbol ___CxxFrameHandler3 D>SampleHandler error LNK2001: unresolved external symbol ___CxxFrameHandler3 D>SampleHandler error LNK2001: unresolved external symbol ___CxxFrameHandler3 D>SampleHandler error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function "unsigned long __stdcall DbgRegisterObjectCreation(char const *,wchar_t const *)" (?DbgRegisterObjectCreation@@YGKPBDPB_W@Z) D>SampleHandler error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function __ehhandler$??0CBaseMediaFilter@@QAE@PBDPAUIUnknown@@PAVCCritSec@@ABU_GUID@@@Z D>SampleHandler fatal error LNK1120: 4 unresolved externals D>SampleHandler warning LNK4070: /OUT:SampleHandler.DLL directive in .EXP differs from output filename 'Debug/aaaFilter.dll'; ignoring directive
D>уже не знаю, что делать...
Попробуй проверить значения в настройках проектов BaseClasses и nullnull занчение Project Settings->C/C++->Treat wchar_t as Built-in Type
это значение должны быть одинаковыми в обоих проектов (сам их ставлю в NO).
Лично у меня если они различны выдаются вот такие ошибки: 1>nullnull.obj : error LNK2019: unresolved external symbol "public: __thiscall CTransInPlaceFilter::CTransInPlaceFilter(wchar_t *,struct IUnknown *,struct _GUID const &,long *,bool)" (??0CTransInPlaceFilter@@QAE@PA_WPAUIUnknown@@ABU_GUID@@PAJ_N@Z) referenced in function "private: __thiscall CNullNull::CNullNull(wchar_t *,struct IUnknown *,long *)" (??0CNullNull@@AAE@PA_WPAUIUnknown@@PAJ@Z) 1>nullnull.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CTransformFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CTransformFilter@@UAGJPB_WPAPAUIPin@@@Z) 1>nullnull.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z) 1>nullnull.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z) 1>nullnull.obj : error LNK2019: unresolved external symbol "void __stdcall DbgBreakPoint(wchar_t const *,wchar_t const *,int)" (?DbgBreakPoint@@YGXPB_W0H@Z) referenced in function "public: virtual long __thiscall CTransInPlaceFilter::GetMediaType(int,class CMediaType *)" (?GetMediaType@CTransInPlaceFilter@@UAEJHPAVCMediaType@@@Z) 1>Debug_Unicode\nullnull.ax : fatal error LNK1120: 5 unresolved externals
Попробуй посмотрить и другие параметры проектов.
Удачи
Теперь надо сравнить другие настройки компилятора (дерево С++) в этих проектах, в первую очередь про exceptions и frame pointers.
Re[5]: не удается создать фильтр из примеров SDK
От:
Аноним
Дата:
21.09.07 13:34
Оценка:
Здравствуйте, Darina2204, Вы писали:
D>спасибо большое настройки, действительно, были разные,
Да, не за что, милая.
D> теперь ошибок стало меньше:
D>SampleHandler error LNK2001: unresolved external symbol ___CxxFrameHandler3 D>SampleHandler error LNK2001: unresolved external symbol ___CxxFrameHandler3 D>SampleHandler error LNK2001: unresolved external symbol ___CxxFrameHandler3 D>SampleHandler error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function "unsigned long __stdcall DbgRegisterObjectCreation(char const *,unsigned short const *)" (?DbgRegisterObjectCreation@@YGKPBDPBG@Z) D>SampleHandler error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function __ehhandler$??0CBaseMediaFilter@@QAE@PBDPAUIUnknown@@PAVCCritSec@@ABU_GUID@@@Z D>SampleHandler fatal error LNK1120: 1 unresolved externals
Остальные, похоже, ошибки не относяться в к стандартному примеру, а относиться к тому, что ты добавила сама (ИМХО). Так что показывай код, будем смотреть, что ты там натворила...
ура, заработало!
дело было в настройках проекта BaseClasses, а именно:
Configuration Properties\C/C++\Code Generation\Enable C++ Exceptions — NO
спасибо всем за помощь