Don’t worry, your OpenCV probably has built-in parallel backend too, you can check it in the cmake configuration output or by printing output of getBuildInformation() function.
Dynamic backends are optional.
These messages are visible because you are using debug build which has logging level set to INFO or DEBUG, you can omit these messages by setting environment variable OPENCV_LOG_LEVEL=e or 2 (OpenCV: cv::utils::logging Namespace Reference).
And if I really did want to build one of those DLL’s - how would I go about it?
If it’s generally advised not to build these DLL’s (it’s not obviously documented how to), then I presume that this debug signal should be removed (e.g. the code should check for an internal implementation before it checks for external ones)
There is some info with build instructions and environment variables in the documentation and the original PR. Though documentation mostly cover user-provided backends usage, these are different from dynamic backends (yeah, it gets complicated ).
In most cases you’ll want to have built-in parallel backend only, dynamic parallel backends are meant to be used if you want to create a single binary distribution of OpenCV with ability to choose backend dynamically on per-application basis (e.g. enable TBB backend in application which uses TBB too and use MS Concurrency for others). Also it helps to make some 3rdparty dependencies optional, so that you will have ability to use this distribution with minimal dependencies and add functionality or improve performance just by installing extra package.
Please note that built-in backend works as before, it can be TBB or OpenMP, just as in older versions. Furthermore there is a cmake option PARALLEL_ENABLE_PLUGINS which can be turned OFF to disable dynamic backends completely.
Idea is to first check for external implementations in plugins and only then fallback to built-in backend, so the order can not be changed. I understand this can be too verbose and perhaps logging level for these messages could be changed, but on the other hand this is an essence of debug build - provide as much information as possible for troubleshooting (for ex. try to launch basic GStreamer pipeline with GST_DEBUG=5 and you’ll see The Verbose log ).