Полностью отключить OpenCL в OpenCV

Я хочу создать статическую версию OpenCV (3) с отключенным OpenCL. Для этого я использую

cmake -D WITH_OPENCL=OFF -D BUILD_SHARED_LIBS=OFF

при компиляции OpenCV, среди других параметров (которые отключают другие модули, которые мне не нужны). Выход вызова cmake включает в себя следующую строку

-- используйте OpenCL: NO

что, если я правильно понимаю, означает, что OpenCL отключен.

теперь, при связывании с скомпилированным версия OpenCV, я получаю следующее сообщение (я отредактировал путь):

[отредактировано]/lib / libopencv_core.a (ocl.СРР.o): в функции 'initOpenCLAndLoad': ОКЛ.СРР.(:текст.initOpenCLAndLoad+0x2b): предупреждение: использование "dlopen" в статически связанных приложениях требует во время выполнения общих библиотек из версии glibc, используемой для связывания

Я знаю, что означает сообщение, но я смущен его источником-почему в коде вызова OpenCL есть скомпилированная библиотека OpenCV? Есть ли другой вариант, который мне нужно установить, чтобы OpenCL был полностью отключен?

спасибо и с наилучшими пожеланиями

1 ответов


OpenCV не очень хорошо документирует свои варианты сборки, но мы можем видеть их довольно хорошо из своих CMakeLists.txt:

https://github.com/Itseez/opencv/blob/master/CMakeLists.txt#L208

Я бы предложил отключить WITH_OPENCLAMDFFT, WITH_OPENCLAMDBLAS и WITH_VA_INTEL Как хорошо.