DirectShow ダウンロードしたフィルターを使用するには?

解決


ひろひと  2009-03-02 02:04:30  No: 69761

お世話になります

WindowsXp
Visual c++ 2008 express edition

DirectShowを使用して生映像データをDV形式にエンコードするプログラムを作成しています
インストーラー付きのDirectShowFilterをインストールし、ヘッダーファイルをインクルードして、
"CLSID"から"BaseFilter"を作成する、コンパイルは通りました
しかし、"error LNK2001 : 外部シンボル・・・は未解決です"
と、リンカーエラーが出て困っています
system32ホルダーには、使用したいフィルターは存在しており、レジストリ登録もできているようです

配布されていた"DLL"をvisual c++ 参照の追加を行なおうとすると、
アセンブリ又は登録されたActiveXコントロールであるため、参照を追加できませんでした
と、エラーがでます

GraphEditを使用するとフィルタは選択できるので、インストールはうまくいっていると思われますが、原因がわかりません。

何が問題なのか、少しでも知恵をお貸しください
よろしくお願い致します


wclrp ( 'o')  2009-03-02 05:02:28  No: 69762

ダウンロードしたフィルターを気にしているようだが違うと思う。
> error LNK2001 : 外部シンボル・・・は未解決です
と言われてもそれじゃ判断付かないけど。

レジストリに登録されたCOMオブジェクトは実行時に準備するものだから
コンパイルやリンク時にはエラーにならないと思う。
フィルターとは関係ないライブラリが不足しているとかなんじゃない。
関係あるとしてもGUID宣言ならあるけど定義がないとか
DirectShowライブラリをコンパイルしてないとかリンクしてないとか。


ひろひと  2009-03-02 18:37:37  No: 69763

wclrp ( 'o') 様ありがとうございます
定義がありませんでした。。。

>レジストリに登録されたCOMオブジェクトは実行時に準備するものだから
>コンパイルやリンク時にはエラーにならないと思う。
この辺りの動作が理解できていないのを実感

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加