DirectShowの自作のPUSH型ソースフィルタを作成しました。
graphedtでグラフに追加できることを確認しました。
このフィルタをプログラムからインスタンス化しようと思い、
CoCreateInstance(CLSID_MySource・・・
としましたが、コンパイル時に「CLSID_MySource' : 定義されていない識別子です。」と怒られてしまいます。
自作のフィルタを扱うには、どのようにすれば良いでしょうか?
コンパイルエラーが出るということは、単純にinclude追加しただけではリンクエラーも出ると思いますので、追加のlib等も教えていただけるとありがたいです。
自分でフィルタを作ったのなら
当然CLSID_MySourceの定義があるから
それをプログラムのどこかコピペで定義すればいい。
定義するためのマクロには
extern宣言するだけのものと
値を定義するものがあるから注意。
定義は1箇所で行えばいい。追加libはいらない。
extern宣言はいくつあってもいいけど
定義が複数あると多重定義でリンクエラーになるかもな。
extern宣言だけで定義がひとつもなければコンパイルは出来るが
リンクエラーになる。
ツイート | ![]() |