Use OpenCV with CUDA support in production

I built Opencv 3.4.13 (for Windows) with CUDA 11.2 support successfully and then I copied this build to another machine with CUDA 9.2. When I tried to make OpenCV project on that machine with CMake, it gives me an error:

Could not find CUDA: Found unsuitable version “9.2” but required is exact version “11.2”

Is there any way to avoid this error, or I can use only specific version of CUDA which I build OpenCV with ?

Yep. Generally you need to use the same versions of the external libraries when deploying an application. This is true for other libraries too, like Qt (used for displaying) for example - which also gets updated quite often.

Thank you for your answer! And what if I build a solution with CUDA 11.2 support and I need to use this solution on another machine with CUDA 9.2, do I need to have all CUDA 11.2 .dll near my executables ?