Разрешение неразрешенного внешнего символа CSourceSeeking :: CSourceSeeking (…) несмотря на соединение с нужной библиотекой

Вот ошибка:

Ошибка 2, ошибка LNK2019: неразрешенный внешний символ «защищен:
__thiscall CSourceSeeking :: CSourceSeeking (char const *, struct IUnknown *, long *, класс CCritSec *) «(??
0CSourceSeeking @@ IAE @ PBDPAUIUnknown @@ PAJPAVCCritSec @@@ Z) ссылка на
функция «public: __thiscall CPushPin :: CPushPin (long *, класс
CSource *) «(?? 0CPushPin @@ QAE @ PAJPAVCSource @@@ Z) C: \ Users \ x \ Desktop \ PushSource \ PushFilter.obj> PushSource

Вот мои любимые:

gdiplus.lib strmbasd.lib msvcrtd.lib winmm.lib odbc32.lib odbccp32.lib

В какой библиотеке находится CSourceSeeking?

1

Решение

Вы должны создать Strmbase.lib/Strmbased.lib себя, видимо. Убедитесь, что он создан для вашей цели (то есть, если ваша программа 32-битная, убедитесь, что она создана как 32-битная библиотека; то же самое для 64-битной).

2

Другие решения

В нижней части большинства справочных страниц по API C / C ++ на MSDN вы найдете Рекомендации В разделе рассказывается, какие заголовки включить и с какими библиотеками связать.

Соответственно, в Рекомендации раздел Справочная страница CSourceSeeking Вы найдете свой ответ:

Strmbase.lib (retail builds)
Strmbasd.lib (debug builds)

РЕДАКТИРОВАТЬ

Увидеть @ Cornstalk’s ответ для инструкций о том, как построить Strmbase.lib/Strmbased.lib сам. Когда вы строите Strmbase.lib/Strmbased.libубедитесь, что настройки сборки библиотеки соответствуют настройкам сборки вашей программы: 32/64 бит, UNICODE/ANSIи т. д. Использование разных настроек для одного или другого приведет к ошибкам.

1

CSourceSeeking класс является частью библиотеки Strmbase.lib (или Strmbasd.lib для отладочных сборок). Как правило, MSDN заявляет требования к заголовочным файлам и библиотекам в разделе «Требования» соответствующей страницы документации.

0
По вопросам рекламы [email protected]