我尝试安装Opencv 3.1时出现Cmake错误

我想在我的Ubuntu 15.10上编译和安装OpenCV 3.1。 我按照本教程 。 在我运行cmake命令后,安装开始,但是进程返回错误,并且所有文件都在我的UBUNTU中被读取!

这是输入日志: http : //pastebin.com/vJz0U7es

我不太了解cmake。 有人能帮助我吗?

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

基本上,您在/ usr / include / ffmpeg中创建链接到目录中的所有.h文件:/ usr / include / x86_64-linux-gnu / libavcodec / / usr / include / x86_64-linux-gnu / libavformat / / usr /包括/ x86_64的-Linux的GNU / libswscale /

我设法通过使用以下cmake命令来避免sys / videoio.h问题和linux / videodev.h问题(请注意,您必须检查opencv_contrib并调整下面的相对路径)。 您还必须运行此cmake命令两次,否则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())") .. 

第86行表示您缺少ffmpeg库中的libavformat头:

home / guilherme / opencv / build / CMakeFiles / CMakeTmp / CheckIncludeFile.c:1:29:致命错误:ffmpeg / avformat.h:没有这样的文件或目录

在Linux安装说明中列出了编译之前需要安装的几个软件包