Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Фильтр PsiParser и ошибка LNK2001


Автор: AndreySol 21.11.2009, 14:26
Использую фильтр PsiParser из примеров к DX SDK. Фильтр собран и зарегистрирован в системе, нормально добавляется в граф, нормально работает. Пробую получить доступ к интерфейсу IMpeg2PsiParser этого фильтра:
в хедере
Код

#include "C:\Program Files\DXSDK\Samples\C++\DirectShow\Filters\PSIParser\iMpeg2PsiParser.h"

далее 
Код

IMpeg2PsiParser* pMPEG2Program;
pMPEG2PSIParserFilter->QueryInterface(IID_IMpeg2PsiParser, (void **) &pMPEG2Program);

получаю ошибку
error LNK2001: unresolved external symbol _IID_IMpeg2PsiParser
Что не так ?

Автор: Andrey44 22.11.2009, 20:14
Код

#include "C:\Program Files\DXSDK\Samples\C++\DirectShow\Filters\PSIParser\iMpeg2PsiParser.h"
#pragma comment (lib, "ищи_где_находится\iMpeg2PsiParser.lib")

Автор: AndreySol 23.11.2009, 08:39
Цитата

ищи_где_находится\iMpeg2PsiParser.lib

вообще-то PSIParser.lib
пробовал я и #pragma comment, ошибка та-же.
Может что с самим интерфейсом не так ?

Автор: Andrey44 23.11.2009, 09:16
Цитата(AndreySol @  23.11.2009,  08:39 Найти цитируемый пост)
вообще-то PSIParser.lib

Вообщето обычно *.h и *.lib названы одинаково, за исключением расширения

Автор: AndreySol 28.11.2009, 10:23
заменил DEFINE_GUID в объявлении интерфейса на
static const GUID IID_IMpeg2PsiParser = 
{ 0xae1a2884, 0x540e, 0x4077, { 0xb1, 0xab, 0x67, 0xa3, 0x4a, 0x72, 0x29, 0x8c}};
все заработало как надо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)