Ich möchte eine statische Version von OpenCV (3) mit OpenCL deaktiviert erstellen. Um dies zu tun, verwende ich
%Vor%beim Kompilieren von OpenCV neben anderen Parametern (die andere Module deaktivieren, die ich nicht brauche). Die Ausgabe des cmake-Aufrufs enthält die folgende Zeile
- Verwenden Sie OpenCL: NEIN
was, wenn ich es richtig verstehe, bedeutet, dass OpenCL deaktiviert ist.
Wenn ich nun mit der kompilierten Version von OpenCV verlinke, erhalte ich die folgende Nachricht (den Pfad habe ich redigiert):
[Redacted] /lib/libopencv_core.a (ocl.cpp.o): In der Funktion 'initOpenCLAndLoad': ocl.cpp :(. text.initOpenCLAndLoad + 0x2b): Warnung: Die Verwendung von 'dlopen' in statisch verknüpften Anwendungen erfordert zur Laufzeit die gemeinsam genutzten Bibliotheken aus der glibc-Version, die zum Verknüpfen von
verwendet wird
Ich bin mir bewusst, was die Nachricht bedeutet, aber ich bin verwirrt von der Quelle - warum gibt es OpenCL-Aufrufcode in der kompilierten OpenCV-Bibliothek? Gibt es eine andere Option, die ich einstellen muss, damit OpenCL vollständig deaktiviert wird?
Vielen Dank und viele Grüße
OpenCV ist nicht sehr gut darin, seine Build-Optionen zu dokumentieren, aber wir können sie in ihrer CMakeLists.txt ziemlich gut sehen:
Ich würde vorschlagen, WITH_OPENCLAMDFFT
, WITH_OPENCLAMDBLAS
und WITH_VA_INTEL
ebenfalls auszuschalten.
Tags und Links opencv opencv3.0 opencl static-libraries