web-dev-qa-db-ja.com

C ++ tbb_debug.dllがない

私はopenCVに慣れていないので、いくつかのチュートリアルに従ってみました。 opencv2/imgproc/imgproc.hppを含め、filter2D関数を使用するまで、すべてが問題なく動作しました。プログラムを起動すると、次のエラーが発生しました。

コンピュータにtbb_debug.dllが見つからないため、プログラムを起動できません。

インターネット上で、このエラーがDLLの32ビットバージョンと64ビットバージョンに関係していることがわかりました。

私は64ビットバージョンのウィンドウを使用しており、VS2010で32ビットコンソールアプリケーションを作成しました。このアプリケーションでは、32ビットバージョンのopenCV dllを使用しています。 「ディペンデンシーウォーカー」プログラムを起動すると、プログラムがすべてのシステムDLL(C:\ windows\system32 ....内)の64ビットバージョンを使用していることがわかります。 opencvのDLLのみが32ビットです。

depenency Walkerのスクリーンショット:

enter image description here ありがとう

21
programmer004

コンパイル済みのOpenCV 2.3バイナリを使用していると思います。パッケージには、何らかの理由で、tbb dllが含まれていますが、デバッグdllは含まれていません(つまり、tbb.dllは含まれていますが、tbb_debug.dllは含まれていません)。インテルから入手する必要があります ここ またはインテルソフトウェアの一部 スイート (購入/試用する場合)。これを取得したら、プログラムの実行可能ファイルがDLLを見つけられるパスにDLLを配置するだけです。最も簡単な方法は、すべてのtbb * _debug.dllをOpenCV binフォルダーにコピーすることです..../build/common/tbb/intel64/vc10 /

更新[12年5月]:OpenCV 2.4がリリースされ、必要なDLLがすべて同梱されています。

27
KMS

Intel TBB dllが必要な場合は、

www.threadingbuildingblocks.org->ダウンロードエリアに移動します。

3
Eugene Roeder

最も簡単な解決策を試したいすべての人のために(それは唯一の解決策です私のために働いた)は:

  1. visual Studioでプロジェクトを右クリック
  2. 「プロパティ」を選択します
  3. intelパフォーマンスライブラリオプションの下
  4. 「TBBを使用する」で「はい」を選択します

2:55から始まるこのビデオで説明されているように

頑張ってください! :)

====編集-ビデオリンクを更新しました(初回と最後)

3
Aleksandar