• ベストアンサー

DirectX対応プログラム

VC6.0を使用してDirectXに対応したUSBカメラのプログラムを 作成しています。サンプルソースなどをダウンロードして ビルドを実行すると、 「error LNK2001: 外部シンボル "_IID_ISampleGrabber" は未解決です」 「fatal error LNK1120: 外部参照 1 が未解決です。」 のようなエラーメッセージが出てしまうのですが、どのように回避 すればよいでしょうか? いろいろ検索するとリンクパスの設定はあっているのか?など でましたがうまくいきません。初心者のため漠然としていますが、 同じ症状が出て解決した方がいらしましたら回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

サンプルソースは誰でもダウンロードできるのでしょうか 可能ならダウンロード先を教えてもらったほうが早いかもしれません

haku_juzi
質問者

お礼

haku_juzi
質問者

補足

質問者です。おかげさまで自己解決できました。 DIRECTX SDKのバージョンの問題でした。 古いバージョンを入れたらすんなり動きました。 漠然とした質問に対してお付き合いいただき本当にありがとう ございました。

その他の回答 (2)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

間違えました #pragma comment (lib,"strmiids.lib") です

haku_juzi
質問者

お礼

回答ありがとうございます。質問のエラーはでなくなったのですが、 今度は違うエラーがでてしまうようになりました。 下のお礼欄に書きましたのでもしお分かりになるようであれば助けてください。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

プログラムの頭に #pragma link "strmiids.lib" を記述してみたらどうでしょう またはプロジェクトの設定-リンクの「オブジェクト/ライブラリ モジュール」にstrmiids.libを追加でもいいです

haku_juzi
質問者

お礼

早速の回答ありがとうございました。 あれからまたいろいろ調べたところ、Windows SDKのBaseClasses の中身をコンパイルしてできる"strmbasd.lib"をリンクさせれば いいというようなことが書いてあったので試してみたら今回の エラーはでなくなったのですが、今度は MSVCRTD.LIB(dllsupp.obj) : error LNK2005: __fltused はすでに StdAfx.obj で定義されています MSVCRTD.LIB(dllsupp.obj) : warning LNK4006: __fltused は StdAfx.obj で定義されています; 2 つ目以降の定義は無視されます と出てしまいました。もしお分かりになるようでしたら教えてください。

関連するQ&A