find_path(_header_result ${_filename} PATHS "${CUDA_TOOLKIT_TARGET_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}" ENV CUDA_PATH ENV CUDA_INC_PATH PATH_SUFFIXES include NO_DEFAULT_PATH ) if("x${_header_result}" STREQUAL "x_header_result-NOTFOUND") set(${_result} 0) else() set(${_result} 1) endif() unset(_header_result CACHE) endmacro() ocv_cuda_SEARCH_NVCUVID_HEADER("nvcuvid.h" HAVE_NVCUVID_HEADER) ocv_cuda_SEARCH_NVCUVID_HEADER("dynlink_nvcuvid.h" HAVE_DYNLINK_NVCUVID_HEADER) find_cuda_helper_libs(nvcuvid) if(WIN32) find_cuda_helper_libs(nvcuvenc) endif() if(CUDA_nvcuvid_LIBRARY AND (${HAVE_NVCUVID_HEADER} OR ${HAVE_DYNLINK_NVCUVID_HEADER})) # make sure to have both header and library before enabling set(HAVE_NVCUVID 1) endif() if(CUDA_nvcuvenc_LIBRARY) set(HAVE_NVCUVENC 1) endif() endif()发现他会找${CUDA_TOOLKIT_TARGET_DIR} 和${CUDA_TOOLKIT_ROOT_DIR}文件夹,查找nvcuvid.h或者dynlink_nvcuvid.h如果找到了才会启动NVCUVID因为之前将nvcuvid.h拷贝到了/usr/include下面,因此 将PATHS "${CUDA_TOOLKIT_TARGET_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}"改为PATHS "${CUDA_TOOLKIT_TARGET_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}" "/usr/include"
|