Пример MEMFile из DirectShow???
От: dmaster1  
Дата: 27.10.04 07:36
Оценка:
Народ, помогите! Уже задолбался...
Проблема такая... Есть в samples для DirectShow такой примерчик:
DirectShow\Filters\Async\MemFile\memfile.sln. Обычное консольное приложение.
Собирается и запускается без проблем. Мне нужно выдрать от туда все, что касается воспроизведения мемори файла. Выдираю. Собираю и получаю три ошибки линковщика (типа unresolved external symbol):

WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z)

WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z)

WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)

При чем в настройках Project Rpoperties->Linker все как и в том примере memfile.sln:
Additional Dependences: ..\..\..\BaseClasses\debug\strmbasd.lib
strmiids.lib
winmm.lib
odbc32.lib
odbccp32.lib
asynbase.lib
msvcrtd.lib

Additioanl Library Directories: ..\..\..\..\lib;..\base\debug

При чем я точно знаю, что все на что ругается линковщик есть в strmbasd.lib, которую я подключаю (см. выше)
Но что ему не хватает, понять не могу...
Помогите пожалста
Как всегда..спасибо всем неравнодушным
Re: Пример MEMFile из DirectShow???
От: dmaster1  
Дата: 27.10.04 09:11
Оценка:
Здравствуйте, dmaster1, Вы писали:

D>Народ, помогите! Уже задолбался...

D>Проблема такая... Есть в samples для DirectShow такой примерчик:
D>DirectShow\Filters\Async\MemFile\memfile.sln. Обычное консольное приложение.
D>Собирается и запускается без проблем. Мне нужно выдрать от туда все, что касается воспроизведения мемори файла. Выдираю. Собираю и получаю три ошибки линковщика (типа unresolved external symbol):

D>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z)


D>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z)


D>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)


D>При чем в настройках Project Rpoperties->Linker все как и в том примере memfile.sln:

D>Additional Dependences: ..\..\..\BaseClasses\debug\strmbasd.lib
D> strmiids.lib
D> winmm.lib
D> odbc32.lib
D> odbccp32.lib
D> asynbase.lib
D> msvcrtd.lib

D>Additioanl Library Directories: ..\..\..\..\lib;..\base\debug


D>При чем я точно знаю, что все на что ругается линковщик есть в strmbasd.lib, которую я подключаю (см. выше)

D>Но что ему не хватает, понять не могу...
D>Помогите пожалста
D>Как всегда..спасибо всем неравнодушным
D>


Да, забыл сказать, все это я пытаюсь подцепить к MFC-ному приложению аля-диалог

Куда копать, подскажите плиииззз!
Re: Пример MEMFile из DirectShow???
От: romson  
Дата: 27.10.04 10:48
Оценка:
Здравствуйте, dmaster1, Вы писали:

D>Народ, помогите! Уже задолбался...

D>Проблема такая... Есть в samples для DirectShow такой примерчик:
D>DirectShow\Filters\Async\MemFile\memfile.sln. Обычное консольное приложение.
D>Собирается и запускается без проблем. Мне нужно выдрать от туда все, что касается воспроизведения мемори файла. Выдираю. Собираю и получаю три ошибки линковщика (типа unresolved external symbol):

D>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z)


D>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z)


D>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)


D>При чем в настройках Project Rpoperties->Linker все как и в том примере memfile.sln:

D>Additional Dependences: ..\..\..\BaseClasses\debug\strmbasd.lib
D> strmiids.lib
D> winmm.lib
D> odbc32.lib
D> odbccp32.lib
D> asynbase.lib
D> msvcrtd.lib

D>Additioanl Library Directories: ..\..\..\..\lib;..\base\debug


D>При чем я точно знаю, что все на что ругается линковщик есть в strmbasd.lib, которую я подключаю (см. выше)

D>Но что ему не хватает, понять не могу...
D>Помогите пожалста
D>Как всегда..спасибо всем неравнодушным
D>

Уже тыщу раз наверно говорил в этом форуме. Ну по крайней мере пару раз точно.

В свойствах проекта BaseClasses и в своём проекте выставь опцию C/C++ — Language — Treat wchar_t as Built_in type в одинаковое положение (лучше No) и всё перекомпилируй.
Re[2]: Пример MEMFile из DirectShow???
От: dmaster1  
Дата: 27.10.04 11:05
Оценка:
Здравствуйте, romson, Вы писали:

R>Здравствуйте, dmaster1, Вы писали:


D>>Народ, помогите! Уже задолбался...

D>>Проблема такая... Есть в samples для DirectShow такой примерчик:
D>>DirectShow\Filters\Async\MemFile\memfile.sln. Обычное консольное приложение.
D>>Собирается и запускается без проблем. Мне нужно выдрать от туда все, что касается воспроизведения мемори файла. Выдираю. Собираю и получаю три ошибки линковщика (типа unresolved external symbol):

D>>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z)


D>>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z)


D>>WavPlayer.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)


D>>При чем в настройках Project Rpoperties->Linker все как и в том примере memfile.sln:

D>>Additional Dependences: ..\..\..\BaseClasses\debug\strmbasd.lib
D>> strmiids.lib
D>> winmm.lib
D>> odbc32.lib
D>> odbccp32.lib
D>> asynbase.lib
D>> msvcrtd.lib

D>>Additioanl Library Directories: ..\..\..\..\lib;..\base\debug


D>>При чем я точно знаю, что все на что ругается линковщик есть в strmbasd.lib, которую я подключаю (см. выше)

D>>Но что ему не хватает, понять не могу...
D>>Помогите пожалста
D>>Как всегда..спасибо всем неравнодушным
D>>

R>Уже тыщу раз наверно говорил в этом форуме. Ну по крайней мере пару раз точно.


R>В свойствах проекта BaseClasses и в своём проекте выставь опцию C/C++ — Language — Treat wchar_t as Built_in type в одинаковое положение (лучше No) и всё перекомпилируй.


Помогло!!! Спасибо большое! Ну почему всё так мудрёно...
Re[3]: Пример MEMFile из DirectShow???
От: al Россия  
Дата: 27.10.04 15:44
Оценка:
Совет:

Не засовывай фильтр в свое приложение — пусть это будет отдельная DLL.


Re[4]: Пример MEMFile из DirectShow???
От: dmaster1  
Дата: 28.10.04 07:18
Оценка:
Здравствуйте, al, Вы писали:

al>Совет:


al>Не засовывай фильтр в свое приложение — пусть это будет отдельная DLL.


А смысл? Ведь придется её всегда таскать за собой
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.