【问题标题】:How to find in CMAKE file if OpenCV is compiled with CUDA如果 OpenCV 是用 CUDA 编译的,如何在 CMAKE 文件中查找
【发布时间】:2013-08-23 13:24:08
【问题描述】:

我正在将 opencv 与另一个库一起使用。所以如果 OpenCV 有 CUDA,我想编译一个类。 我需要在 Cmake 文件中实现这一点。但我找不到任何变量来说明 OpenCV 是否 有没有CUDA。

FindOpenCV.cmake 定义了这些变量

OpenCV_FOUND OpenCV_LIBS OpenCV_INCLUDE_DIR OpenCV_VERSION

现在我如何从这个 cmake 文件中找出 OpenCV 是否使用 CUDA 编译?

【问题讨论】:

  • 来自OpenCVConfig.cmake.in,看来您可以尝试使用if(CUDA_FOUND)。但是,如果 OpenCV 未记录此变量,您可能会面临在 OpenCV 的未来版本中重命名或删除此变量的风险。
  • 感谢您的帮助。

标签: opencv cmake


【解决方案1】:

这里是 CMake 变量列表,可以帮助您:

OpenCV_COMPUTE_CAPABILITIES - 编译 OpenCV 的计算能力,可以添加到 nvcc 标志中。

list(APPEND CUDA_NVCC_FLAGS ${OpenCV_COMPUTE_CAPABILITIES})

OpenCV_CUDA_VERSION - 用于构建 OpenCV 的 CUDA 工具包版本,如果在没有 CUDA 支持的情况下构建 OpenCV,则该变量为空。你可以检查这个变量:

if(OpenCV_CUDA_VERSION)
    # Have CUDA support
endif()

OpenCV_USE_CUBLAS - 如果 OpenCV 是使用 CUBLAS 支持构建的,则为 true

OpenCV_USE_CUFFT - 如果 OpenCV 是使用 CUFFT 支持构建的,则为 true

OpenCV_USE_NVCUVID - 如果 OpenCV 是使用 NVCUVID 支持构建的,则为 true

【讨论】:

  • 感谢您的帮助。对我这样的新手真的很有帮助
猜你喜欢
  • 1970-01-01
  • 2019-04-16
  • 2020-07-31
  • 2014-12-01
  • 2023-03-23
  • 2020-03-10
  • 2017-06-14
  • 1970-01-01
相关资源
最近更新 更多