2015-06-09 12 views
8

अक्षम करें मैं OpenCL अक्षम के साथ OpenCV (3) का एक स्थिर संस्करण बनाना चाहता हूं। तो मैंOpenCV में ओपनसीएल को पूरी तरह से

cmake -D WITH_OPENCL=OFF -D BUILD_SHARED_LIBS=OFF 

उपयोग कर रहा हूँ जब OpenCV संकलन, अन्य पैरामीटर (जो अन्य मॉड्यूल है कि मैं की जरूरत नहीं है निष्क्रिय) के बीच करने के लिए,। cmake कॉल के उत्पादन में निम्न पंक्ति

शामिल - उपयोग OpenCL: NO

जो, अगर मैं इसे सही ढंग से समझ, इसका मतलब है कि OpenCL अक्षम है।

[Redacted] /lib/libopencv_core.a (ocl.cpp.o):

अब, जब OpenCV की संकलित वर्शन से लिंक, मैं संदेश निम्न (मैं पथ संशोधित) मिलता है: समारोह `initOpenCLAndLoad में ':। ocl.cpp :(text.initOpenCLAndLoad + 0x2b): चेतावनी: का उपयोग कर' स्थिर जुड़ा हुआ अनुप्रयोगों में dlopen 'रनटाइम पर की आवश्यकता है glibc संस्करण से साझा पुस्तकालयों को जोड़ने

मैं के लिए इस्तेमाल किया संदेश के अर्थ के बारे में पता है, लेकिन मैं इसके स्रोत से उलझन में हूं - संकलन में ओपनसीएल-इनवोकिंग कोड क्यों है डी ओपनसीवी पुस्तकालय? क्या कोई अन्य विकल्प है जिसे मुझे सेट करने की आवश्यकता है ताकि ओपनसीएल पूरी तरह से अक्षम हो?

धन्यवाद और सादर

उत्तर

2

OpenCV इसके निर्माण के लिए विकल्पों का दस्तावेजीकरण पर बहुत अच्छा नहीं है, लेकिन हम उन्हें उनके CMakeLists.txt से काफी अच्छी तरह से देख सकते हैं:

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

मेरा सुझाव है WITH_OPENCLAMDFFT, WITH_OPENCLAMDBLAS, और WITH_VA_INTEL को बंद करना।

+1

ऐसा लगता है कि मैंने उपरोक्त समस्या पोस्ट करने के बाद यह बदल दिया है (संस्करण 3.0.0 का उपयोग करके)। वैसे भी, इसे इंगित करने के लिए धन्यवाद - मैंने उन विकल्पों को अक्षम करने के बारे में भी नहीं सोचा था। मुझे पहले से ही उन पर खराब दस्तावेज के कारण सीएमकेलिस्ट से विकल्प नाम मिल चुके हैं, लेकिन यह बहुत मुश्किल है कि कितनी निर्भरताएं बहुत गहरी खुदाई के बिना बिल्कुल निर्भर हैं। –

संबंधित मुद्दे