【问题标题】:Error during the compilation of OpenCV with CUDA and FFMpeg on Ubuntu 18.04在 Ubuntu 18.04 上使用 CUDA 和 FFMpeg 编译 OpenCV 时出错
【发布时间】:2019-07-18 13:50:12
【问题描述】:

我需要安装使用 CUDA 和 FFMpeg 编译的 OpenCV 以进行光流计算。

我按照this post 安装在 Ubuntu 18.04 上,但是当我尝试执行以下命令时,出现以下屏幕截图所示的错误:

  cmake -D CMAKE_BUILD_TYPE=RELEASE \
            -D CMAKE_INSTALL_PREFIX=/usr/local \
            -D INSTALL_C_EXAMPLES=ON \
            -D INSTALL_PYTHON_EXAMPLES=ON \
            -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
            -D BUILD_EXAMPLES=ON \
            -D BUILD_opencv_python2=OFF \
            -D WITH_FFMPEG=1 \
            -D WITH_CUDA=ON \
            -D CUDA_GENERATION=Pascal \
            -D ENABLE_FAST_MATH=1 \
            -D CUDA_FAST_MATH=1 \
            -D WITH_CUBLAS=1 \
            -D PYTHON_DEFAULT_EXECUTABLE=/opt/anaconda/bin/python \
            -D PYTHON3_INCLUDE_DIR=/opt/anaconda/include/python3.5m \
            -D PYTHON3_LIBRARY=/opt/anaconda/lib/libpython3.5m.so \
            -D PYTHON3_PACKAGES_PATH=/opt/anaconda/lib/python3.5 \
            -D WITH_LAPACK=OFF \
            -D PYTHON3_NUMPY_INCLUDE_DIRS=/opt/anaconda/lib/python3.5/site-packages/numpy/core/include ..

我已经安装了 CUDA 10.0 版

如果您能指导我修复此错误或建议我使用不同的程序在 Ubuntu 18.04 上安装使用 CUDA 和 FFMpeg 编译的 OpenCV,那将非常有帮助。

谢谢!

【问题讨论】:

  • 貌似和this issue有关,解决办法好像是在命令行中再添加一个参数:-D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so
  • 非常感谢,成功了!但是我在执行make的过程中,在编译的下一个过程中又出现了一个错误。我已经上传了截图Here

标签: python opencv ffmpeg ubuntu-18.04


【解决方案1】:

只是把信息作为答案

您所描述的似乎与opencv的this one in github中的问题相同。在其中找不到 CUDA_CUDA_LIBRARY。可以通过以下方式手动设置:

-DCUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so

或者你也可以使用:

-DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs

这将提示在哪里查找此库。

对于您评论中的另一个问题,似乎找不到某些 python 文件。很可能与此有关:

        -D PYTHON_DEFAULT_EXECUTABLE=/opt/anaconda/bin/python \
        -D PYTHON3_INCLUDE_DIR=/opt/anaconda/include/python3.5m \
        -D PYTHON3_LIBRARY=/opt/anaconda/lib/libpython3.5m.so \
        -D PYTHON3_PACKAGES_PATH=/opt/anaconda/lib/python3.5 \

您应该检查您是否有这些文件夹/文件。如果版本是正确的 (3.5) 或者是较新的版本(3.6 或 3.7)。

【讨论】:

  • 是的,你是对的。该错误是由于 anaconda 和 python 版本的指定不正确造成的。但是在make 的过程中,我又遇到了另一个错误。我已经上传了截图here,你能帮帮我吗?
  • @Karthik 在您的错误中显示/usr/localcuda/lib64/stubs/libcuda.so 而不是/usr/local/cuda/lib64/stubs/libcuda.so 复制路径的错字看起来很奇怪?另外,请确保这是正确的路径,它可能在其他地方(使用locate libcuda.so 找到它的位置)
  • 是的,命令中有错字。但是再次遇到另一个错误,错误的屏幕截图已上传here。非常感谢。
  • @Karthik 您缺少包含该文件的 python-dev 包。我想是apt-get install python-dev,但我现在不记得了:)
猜你喜欢
  • 2012-03-28
  • 2020-09-29
  • 2019-02-20
  • 2019-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 2012-11-30
相关资源
最近更新 更多