2015-06-09 8 views
8

Ich möchte eine statische Version von OpenCV (3) mit OpenCL deaktiviert erstellen. Um dies zu tun, ich bin mitDeaktivieren OpenCL in OpenCV komplett

cmake -D WITH_OPENCL=OFF -D BUILD_SHARED_LIBS=OFF 

wenn OpenCV kompilieren, unter anderen Parametern (die anderen Module deaktivieren, die ich nicht brauche). Der Ausgang des Cmake Aufruf enthält die folgende Zeile

- Verwendung OpenCL: NEIN

die, wenn ich es richtig verstehen, bedeutet, dass OpenCL deaktiviert ist.

Nun, wenn sie gegen die kompilierte Version von OpenCV verknüpfen, ich die folgende Meldung (I redigiert den Pfad):

[geschwärzt] /lib/libopencv_core.a (ocl.cpp.o): in Funktion `initOpenCLAndLoad ':. ocl.cpp :(text.initOpenCLAndLoad + 0x2b): WARNUNG: 'in statisch gelinkte Anwendungen dlopen' zur Laufzeit erfordert die gemeinsam genutzten Bibliotheken von der glibc Version verwendet für die Verknüpfung von

I Ich bin mir bewusst, was die Nachricht bedeutet, aber ich bin verwirrt von der Quelle - warum gibt es OpenCL-Aufruf von Code in der Kompilierung d OpenCV-Bibliothek? Gibt es eine andere Option, die ich einstellen muss, damit OpenCL vollständig deaktiviert ist?

Vielen Dank und viele Grüße

Antwort

2

OpenCV zu dokumentieren seine Build-Optionen ist nicht sehr gut, aber wir können sie ziemlich gut von ihren CMakeLists.txt sehen:

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

Ich würde vorschlagen WITH_OPENCLAMDFFT, WITH_OPENCLAMDBLAS und WITH_VA_INTEL auch ausschalten.

+1

Es scheint, dass dies, da ich die Frage gepostet oben (mit Version 3.0.0) geändert hat. Trotzdem, vielen Dank für den Hinweis - ich glaube nicht, über diese Optionen auch deaktivieren. Ich habe bereits die Option Namen aus den CMakeLists aufgrund der eher schlechten Dokumentation auf sich, aber es ist sehr schwer zu folgern, was Abhängigkeiten gibt es genau ohne sehr tief zu graben. –