Полностью отключить 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
Как хорошо.