2016-12-06 2 views
4

QT5で開発するためにUbuntu 16.04にOpenCV3.1をインストールしようとしています。残念ながら、未定義の参照(以下を参照)のために、ソースからのビルドは常にエラーになります。Ubuntu 16.04でOpenCV 3.1をビルドできない(未定義の参照)

私は次のように使用:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_OPENGL=ON -D BUILD_TIFF=ON -D WITH_VTK=ON.. 

、それが正常に動作します。しかし、それを構築すると常にこのエラーが発生します。

../../lib/libopencv_viz.so.3.1.0: undefined reference to `vtkSTLReader::New()' 
../../lib/libopencv_viz.so.3.1.0: undefined reference to `vtkOBJReader::New()' 
collect2: error: ld returned 1 exit status 
modules/viz/CMakeFiles/opencv_test_viz.dir/build.make:232: recipe for target 'bin/opencv_test_viz' failed 
make[2]: *** [bin/opencv_test_viz] Error 1 
CMakeFiles/Makefile2:3358: recipe for target 'modules/viz/CMakeFiles/opencv_test_viz.dir/all' failed 
make[1]: *** [modules/viz/CMakeFiles/opencv_test_viz.dir/all] Error 2 
make[1]: *** Waiting for unfinished jobs.... 

もちろん私はグーグルで見つけたすべてを試しました。いくつかの異なるcmakeフラグを試してみましたが、libvtk5-devを再インストールしようとしましたが、libvtk6-devを試してみました。また、sourceからvtk7.1をビルドしました。

私も

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_OPENGL=ON -D BUILD_TIFF=ON -D WITH_VTK=ON -D BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/user/opencv/opencv-3.1.0/opencv_contrib/modules .. 

経由opencv_contribを追加しようとしたしかし、それはすでに次のエラー

CMake Error at opencv_contrib/modules/text/CMakeLists.txt:22 (ocv_add_testdata): `Unknown CMake command "ocv_add_testdata". 

またherehereを列挙されているすべてのパッケージを更新/ Iアップグレードなかったことに注意してくださいを作成

だから、基本的に2日間ランダムに私がGoogleで見つけることのできるすべての解決策を試した後、私は今ここで尋ねています。 うまくいけば、誰かがこれを修正する方法を知っていて、ありがとう!

編集:私はOpenCV3.1でこれらの問題が発生します。私は働いているOpenCVを持っている2.4.13

+0

あなたが投稿したパッケージのリンクには表示されないVTKの問題があるようです。 '-D WITH_VTK = OFF'でビルドするか、vtk?をインストールできますか? PSが 'QT'と' VTK'を同時にコンパイルすると、複雑になるかもしれません:http://answers.opencv.org/question/61773/vtk-support-disabled-due-to-incompatible-opencvvtkqt-combination/ – iamai

答えて

0

私と同じhappend。それは働いていて、突然同じエラーが発生しました。私はOpenCV 3.1を取り直して、もう一度やりました。

皆さんは、Extra ModulesとOpenCVの両方で何かをアップデートしたようです。余分なモジュールを引っ張ってしまったようです。

0

第二部では、それは誰かがopencv_contrib/modules/text/CMakeLists.txt

を台無しに似ただ、このファイルを編集して、最後の行削除なりますちょうどクローン後3.1.0タグにopencv_contribリポジトリを切り替える

ocv_add_testdata(samples/ contrib/text 
    FILES_MATCHING PATTERN "*.xml" PATTERN "*.xml.gz" REGEX "scenetext[0-9]+.jpg" 
    COMPONENT "tests" 
) 
+0

私はあなたが言ったことをした、私のために働いているようだ。ところで、後で何か影響はありますか?つまり、私のcontribモジュールはこの編集の後に正常に動作するのでしょうか? –

0

を。

git checkout 3.1.0

と再構築してみてください。