6

TBBを有効にしてOpencvをインストールするには?

私は次のことを試しました:

1) TBB パッケージをダウンロードしました。

2) 以下のコマンドを使用してビルドします。

 mingw32-make compiler=gcc arch=ia32 runtime=mingw default

3) 環境変数のパスを「d:\tbb\build\windows_ia32_gcc_mingw_release」に設定しました

3)cmakeを使用して、「WITH_TBB」を有効にし、opencvをコンパイルしました。

以下のエラーがスローされます。

[ 22%] Built target pch_Generate_opencv_core
Linking CXX shared library ..\..\bin\libopencv_core245.dll
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot fin
d -ltbb
collect2: ld returned 1 exit status
make[2]: *** [bin/libopencv_core245.dll] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

何か不足していますか...アドバイスをお願いします..

4

1 に答える 1

11

私は同じ問題を抱えていました.tbbリンクエラーを取り除くために次のことがうまくいきました:

(質問ですでに説明しているように、すでにtbbを構築していると仮定します)

  • CMake から、一度 OpenCV を構成する

  • 有効にします。有効にしないWITH_TBBように注意してください。OpenCVの自動ダウンロードとビルドは、多くの努力にもかかわらず、惨めに失敗しました。以前に有効にしていた場合は、最初から再起動して、cmake キャッシュをクリアすることをお勧めします。BUILD_TBBBUILD_TBB

  • 2 回目の OpenCV の構成

  • いくつかの変数が表示されるはずです: TBB_INCLUDE_DIRS. 私にとっては、次の値を(それぞれ)設定します。

    tbb41_20130314oss/include

  • 2 つの新しい変数が表示されます:TBB_STDDEF_PATHTBB_LIB_DIR. それらには、明らかに妥当な値が割り当てられています。私にとってTBB_STDDEF_PATHは正しかったのですが、そうでTBB_LIB_DIRはありませんでした。だから私はそれを次のように修正しました:

    tbb41_20130314oss/build/windows_ia32_gcc_mingw4.8.1_release

    そして私はそのまま残しTBB_STDDEF_PATHました:

    tbb41_20130314oss/include/tbb/tbb_stddef.h

  • 3回目の構成

  • 最後に、[生成] をクリックすると、ビルドの準備が整いますmingw32-make -j7

  • opencv ライブラリの使用を開始したら、tbb DLL がパスにあることを確認します。

于 2013-06-24T06:55:45.437 に答える