1

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

FindOpenCV.cmake 定义了这些变量

OpenCV_FOUND OpenCV_LIBS OpenCV_INCLUDE_DIR OpenCV_VERSION

现在我怎样才能从这个 cmake 文件中找出 OpenCV 是否使用 CUDA 编译?

4

1 回答 1

4

这是 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 支持构建的,则为真

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

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

于 2013-08-23T05:24:08.467 回答