C++ クラスの CBaseVideoRenderer を使用したいと考えています。コンストラクターを取得するには、どのファイルを含める必要がありますか?
renbase.h を含めましたが、宣言しかありません。strmbase.h を含めましたが、このクラスに関するその他のエラーは消えましたが、コンストラクターの欠落に関するエラーはありませんでした。renbase.cpp にはコンストラクターがあるようですが、エラーなしで含めることはできません。
それで、私が必要とするファイルを知っていますか?XE2 16 から embarcadero の C++-Builder を使用しています。
編集:このクラスを使用したい:
CBitmapRenderer::CBitmapRenderer(
TCHAR *pName,
LPUNKNOWN pUnk,
HRESULT *phr
)
: CBaseVideoRenderer(CLSID_BitmapRenderer,pName,pUnk,phr)
, m_InputPin(NAME("Video Pin"),this,&m_InterfaceLock,phr,L"Input")
{...
このコードで:
CBitmapRenderer *m_pSnapshotter = new CBitmapRenderer( _T("Bitmap renderer"), NULL, &hr );
リンクエラーにつながる:
[ILINK32 Fehler] Error: Nicht auflösbares externes 'CBaseVideoRenderer::CBaseVideoRenderer(_GUID&, wchar_t *, IUnknown *, long *)' referenziert von C:\USERS\JULIAN\DESKTOP\PROGRAMM\WIN32\DEBUG\TESTRAUSCHEN.OBJ
私が知っているのは、コンストラクターの定義が欠落していることです。
EDIT2:
baseClasses-direcory 内にすべてのファイルを含めたので、コンパイルは成功しました (エラーなし)。しかし、アプリケーションを実行しようとすると、「strmbase.dll」が見つからないというメッセージが表示されます。このプログラムをもう一度インストールしてください」しかし、strmbasd.dll はありませんでした。
このdllを入手する場所や、代わりにlibを使用する方法を知っている人はいますか?
よろしく、
ジュリアン