web-dev-qa-db-fra.com

Cmake erreur lorsque j'essaie d'installer Opencv 3.1

Je veux compiler et installer OpenCV 3.1 sur mon Ubuntu 15.10. J'ai suivi ce tutoriel . Après avoir exécuté la commande cmake, l'installation commence, mais le processus renvoie une erreur et TOUS LES FICHIERS DE MON UBUNTU TOURNENT EN LECTURE UNIQUEMENT!

Voici le journal de saisie: http://Pastebin.com/vJz0U7es

Je ne comprends pas très bien. Quelqu'un peut m'aider?

1
Guilherme Mauro

C'est un problème connu avec 16.04. Un rapport de bogue a déjà été rempli et devrait être corrigé prochainement. Pour l'instant, je l'ai corrigé en procédant comme suit:

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 ./

En gros, vous créez des liens dans/usr/include/ffmpeg vers tous les fichiers .h des répertoires:/usr/include/x86_64-linux-gnu/libavcodec// usr/include/x86_64-linux-gnu/libavformat// usr/include/x86_64-linux-gnu/libswscale /

J'ai réussi à éviter le problème sys/videoio.h et le problème linux/videodev.h en utilisant la commande cmake suivante (notez que vous devez avoir opencv_contrib extrait et ajuster le chemin relatif en dessous de votre cas). Vous devez également exécuter cette commande cmake deux fois ou la partie Python3 ne sera pas prise en compte pour une raison quelconque. Je ne sais pas pourquoi la commande cmake ci-dessous a corrigé les problèmes, je viens de le découvrir après une longue enquête (peut-être qu'avec la commande cmake ci-dessous, le correctif ci-dessus n'est même pas nécessaire, je ne le sais pas).

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

La ligne 86 indique qu'il vous manque l'en-tête libavformat de la bibliothèque ffmpeg:

home/guilherme/opencv/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c: 1: 29: erreur irrécupérable: ffmpeg/avformat.h: aucun fichier ni répertoire de ce type

Avant de compiler, vous devez installer plusieurs paquets qui sont listés dans les instructions d’installation de Linux

0
bkloppenborg