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?
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())") ..
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