【问题标题】:Is OpenCV 3.2 compatiable with CUDA 10? How can I compile and build OpenCV 3.2 on a system with CUDA 10?OpenCV 3.2 是否与 CUDA 10 兼容?如何在具有 CUDA 10 的系统上编译和构建 OpenCV 3.2?
【发布时间】:2019-07-08 16:13:57
【问题描述】:

我正在尝试在具有 CUDA 10 的 Linux 机器(Arch Linux)上安装 OpenCV 3.2。我无法删除 CUDA 10,因为我有其他需要 CUDA 10 的应用程序(Tensorflow、OpenCV 4 等)。我需要 OpenCV 3.2但是,对于我尝试运行的较旧的机器学习应用程序,我在构建 OpenCV 3.2 时遇到了错误。我正在处理的错误之一是:

目标 cuda_compile_generated_gpu_mat.cu.o 的配方失败

我已经尝试在运行 make 时禁用 dnn_modern。

注意,我还尝试按照这篇文章的建议更改 make 文件中的行: CMake Error: Variables are set to NOTFOUND

输入make -j8后make错误的输出是:

1 error detected in the compilation of "/tmp/tmpxft_000033aa_00000000-12_gpu_mat.compute_61.cpp1.ii".
CMake Error at cuda_compile_generated_gpu_mat.cu.o.cmake:266 (message):
Error generating file
/home/patelvrajn/Development/opencv-3.2.0/build/modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_gpu_mat.cu.o


make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/build.make:65: modules/core/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_gpu_mat.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1346: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

***就我而言,Python 和 C++ 都需要 OpenCV 3.2 和 4.0。

提前感谢您的帮助!

【问题讨论】:

  • 错误消息 'Recipe for target cuda_compile_generated_gpu_mat.cu.o failed' 没有说明失败的原因。请更具体。
  • @nada 我在帖子中给出了确切的终端输出(已编辑),如果那是你要找的。​​span>
  • 我的建议...安装最新的OpenCV,适应3.6和3.2的代码应该不难。如果你想继续,你需要知道什么是失败的。尝试查找错误,也许将其设置为详细以获取更多信息。您发布的链接的答案是使 cuda 9.0 工作...... cuda 10.0 中可能发生了很多变化......您也可以尝试查看最新版本中 cuda 部分的 cmake 的差异...也许你知道要改变什么。但也许连源代码都变了

标签: python c++ opencv


【解决方案1】:

刚刚遵循相同的路线并在尝试在 Windows 上 在 CUDA 10.1 上构建 OpenCV 3.3 时遇到完全相同的错误消息(对远程没有帮助)。我们必须假设更高版本的 CUDA 和更早的 OpenCV 版本之间存在一些根本冲突。我知道这不是最好的消息,但您的问题的答案看起来像是“否”。

【讨论】:

    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 2012-05-23
    • 2014-01-02
    • 2011-07-15
    • 1970-01-01
    相关资源
    最近更新 更多