web-dev-qa-db-ja.com

Opencv 3.1をインストールしようとするとCmakeエラーが発生する

Ubuntu 15.10にOpenCV 3.1をコンパイルしてインストールしたい。 このチュートリアル に従いました。 cmakeコマンドを実行した後、インストールは開始されますが、プロセスはエラーを返し、私のUBUNTU内のすべてのファイルは読み取り専用になりました!

入力ログは次のとおりです。 http://Pastebin.com/vJz0U7es

私はcmakeをよく理解していません。誰かが私を助けることができますか?

1
Guilherme Mauro

16.04の既知の問題です。バグレポートはすでに記入されており、すぐに修正する必要があります。今のところ、私はこれを修正しました:

Sudo -i
mkdir /usr/include/ffmpeg
cd /usr/include/ffmpeg
ln -sf /usr/include/x86_64-linux-gnu/libavcodec/*.h ./
ln -sf /usr/include/x86_64-linux-gnu/libavformat/*.h ./
ln -sf /usr/include/x86_64-linux-gnu/libswscale/*.h ./

基本的に、ディレクトリ内のすべての.hファイルへのリンクを/ usr/include/ffmpegに作成します:/ usr/include/x86_64-linux-gnu/libavcodec// usr/include/x86_64-linux-gnu/libavformat// usr/include/x86_64-linux-gnu/libswscale /

次のcmakeコマンドを使用して、sys/videoio.hの問題とlinux/videodev.hの問題を回避することができました(opencv_contribをチェックアウトして、ケースに合わせて以下の相対パスを調整する必要があります)。また、このcmakeコマンドを2回実行する必要があります。そうしないと、何らかの理由でPython3パーツが取得されません。私はなぜ以下のcmakeコマンドで問題が修正されたのかわかりませんが、長い調査の結果それを見つけました(たぶん上記の修正以下のcmakeコマンドでさえ必要ないかもしれません、私は知りません)。

cmake \
  -D CMAKE_BUILD_TYPE=RELEASE \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D WITH_TBB=ON \
  -D WITH_V4L=ON \
  -D WITH_QT=ON \
  -D WITH_OPENGL=ON \
  -D WITH_CUDA=ON \
  -D ENABLE_FAST_MATH=1 \
  -D CUDA_FAST_MATH=1 \
  -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES" \
  -D WITH_CUBLAS=1 \
  -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
  -D BUILD_TESTS=OFF \
  -D BUILD_PERF_TESTS=OFF \
  -D BUILD_OPENCV_PYTHON3=1 \
  -D PYTHON3_EXECUTABLE=$(which python3) \
  -D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
  -D PYTHON3_LIBRARIES=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") ..
3
mbello

行86は、ffmpegライブラリからlibavformatヘッダーが欠落していることを示しています。

home/guilherme/opencv/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:29:致命的なエラー:ffmpeg/avformat.h:そのようなファイルまたはディレクトリはありません

コンパイルする前にインストールする必要のあるパッケージがいくつかあります Linuxインストール手順にリストされています

0
bkloppenborg