私はOpenCV 2.4.12をインストールしましたが、約2日前にOpenCV 3.2がインストールされました。インストール手順(thisは私が従うガイドです)を実行した直後、私の古いopenCVコードは、コンパイルしようとしたときにcv関数を見つけることができなかったことを伝え続けます。明らかにリンカーエラーです。その後、私は2.4版で作業するはずだったので、ホームディレクトリにあるopencv-3.2.0フォルダを削除し、sudo makeを2.4.12フォルダにインストールし直しました。これはうまくいくように見えましたが、やはりcv関数が見つかりませんでした。OpenCVの再インストールの問題
これまでのところ自分で見つけたことがあります。
私のCMakeLists.txtにいくつかの変数が表示され、OpenCV_INCLUDE_DIRSが/ usr/include/opencv/usr/includeを指しています。これは明らかに問題です。しかし、今私はそれを修正する方法はありますか?私は無駄にこのラインを
セット($ {OpenCV_INCLUDE_DIRS}/USR /含む/ OpenCVの/)
やはりを使用して手動でその変数を設定しようとしました。
は、ここに私のCMakeLists.txtです:
cmake_minimum_required(VERSION 2.8)
project(DisplayImage)
find_package(OpenCV REQUIRED)
set(${OpenCV_INCLUDE_DIRS} /usr/include/opencv/)
include_directories(${OpenCV_INCLUDE_DIRS})
MESSAGE(STATUS "CMAKE_ROOT: " ${OpenCV_INCLUDE_DIRS})
add_executable(DisplayImage DisplayImage.cpp)
SET(OpenCV_LIBS opencv_core opencv_highgui opencv_imgproc)
target_link_libraries(DisplayImage ${OpenCV_LIBS})
MESSAGE(STATUS "CMAKE_ROOT: " ${OpenCV_LIBS})
そして、ここで私が使用しCMakeの構成があります。
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_V4L=ON -DWITH_QT=ON -DWITH_OPENGL=ON -DWITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DWITH_GDAL=ON -DWITH_XINE=ON -DBUILD_EXAMPLES=ON ..
最後に、ここに私の設定fileがあります。
編集:私は gccのanalyze_video.cpp -o objDetection -lopencv_core -lopencv_imgproc -lopencv_objdetect -lopencv_highgui
を実行する場合にも、そして、すべての作品。だから私はライブラリを構築しましたが、私のCMakeの設定に何か問題があります。
@CraigScott、あなたの編集に感謝します。 –
ああ、私は、ダブルインストールがインクルードパスに追加されていると考え、インクルードパスが無効になったと考えました。どのフォルダでバイナリが見つかるはずですか? INCLUDE_DIRS変数はインクルードディレクトリのベースを指しているのはなぜですか? – Tri
@Tri、OpenCVを使って最小限のアプリケーションを構築する方法を教えてください: OpenCV build: 'cmake -DCMAKE_BUILD_TYPE = RELEASE .. && make -j4 && sudo make install'。 アプリケーションのCMakeListsには、OpenCV:find_package(OpenCV REQUIRED) '' target_link_libraries($ {CMAKE_PROJECT_NAME} $ {OpenCV_LIBS}) 'という2行しかありません。 FindOpenCV.cmakeなど何も必要ありません。 あなた自身でそれを再現できれば幸いです。特定のOpenCVモジュールをビルドする場合は、私の作業スクリプトです:goo.gl/p1snyO。ただし、モジュールが必要なものが有効であることを確認してください。 –