2016-01-31 2 views
9

वीटीके_DIR-NOTFOUND सीएमके का उपयोग करते समय वापस किया जाता है। मैं सीएमके जीयूआई का उपयोग कर रहा हूं और, अन्य पथ त्रुटियों के रूप में, मैं उचित पथ पर इंगित कर सकता हूं। हालांकि, वीटीके के लिए काम नहीं करता है। मैं निर्देशिका को इंगित कर रहा हूं जहां VTConfig.cmake फ़ाइल और अन्य हैं। अन्य सभी वीटीके डीआईआर के साथ भी कोशिश की लेकिन बिना किसी शर्त के। मैं पीढ़ी के लिए विजुअल स्टूडियो 12 2013 विन 64 विन्यास का उपयोग कर रहा हूं लेकिन 2010 के साथ भी कोशिश की।सीएमके वीटीके_DIR-NOTFOUND

enter image description here

पथ मैन्युअल की ओर इशारा करते,

enter image description here

+0

अच्छा लगता है, आप क्या कर रहे हैं। बस यह सुनिश्चित करने के लिए: 'lib/cmake/vtk-6.2' में 'ConfigVTK.cmake' है? आपका सीएमके संस्करण क्या है? – usr1234567

+0

सीमैक संस्करण 3.4.3। और इस निर्देशिका में cmake फ़ाइलों को VTKConfig.cmake के रूप में शामिल किया गया है, लेकिन जैसा कि आप सुझाव देते हैं ConfigVTK.cmake नहीं ... – Jaume

+0

क्षमा करें, मेरा मतलब VTKConfig.cmake था। मेरे पास कोई सुराग नहीं है। शायद डीबग मोड में चलाएं और जांचें कि क्या होता है। कुछ सीएमके कोड पढ़ें और तुलना करें। – usr1234567

उत्तर

4

पहली बात मैं जाँच करेगा वास्तविक find_package() आदेश जहां त्रुटि उत्पन्न होती लागू किया जा रहा है क्या है? शायद वह कॉल कुछ असामान्य है या स्पष्ट रूप से मॉड्यूल कीवर्ड है (यह VTKConfig.cmake फ़ाइल को मिलने से रोक देगा)।

यदि यह ठीक लगता है, तो यह देखने के लिए जांचें कि कुछ VTK_DIR चर को संशोधित कर रहा है या नहीं। अपने सर्वोच्च CMakeLists.txt फ़ाइल के शीर्ष के निकट निम्नलिखित सम्मिलित करें:

variable_watch(VTK_DIR) 

यह आपको बताना चाहिए क्या, कुछ भी करता है, तो, तरीकों से आप उम्मीद नहीं थी में इसे संशोधित किया गया है।

VTK_DIR मान लिया जाये कि वास्तव में बदली नहीं किया जा रहा है, अगली बात तुम निर्देशिका VTKConfig.cmake फ़ाइल युक्त CMAKE_PREFIX_PATH स्थापित कर रही है की कोशिश कर सकते हैं (आप CMake जीयूआई में इस जोड़ सकते हैं अगर यह पहले से ही नहीं है)। हो सकता है कि variable_watch(CMAKE_PREFIX_PATH) भी कोशिश करें, अगर कुछ अप्रत्याशित रूप से आंतरिक रूप से संशोधित हो रहा है।

यदि वह अभी भी कुछ भी प्रकट नहीं करता है, तो ऐसा लगता है कि आपके सीएमके या वीटीके स्थापना में कुछ गड़बड़ है। शायद पहले के सीएमके संस्करण को आजमाएं और देखें कि क्या आपको कोई अलग व्यवहार है या नहीं।

+0

मैं varable_watch कैसे याद कर सकता हूं ?! मेरे वर्तमान दृष्टिकोण की तुलना में इस तरह का एक निम्न उपकरण - printf डीबगिंग। – usr1234567

2

हालांकि वर्तमान में स्वीकार जवाब डीबगिंग के लिए एक अच्छा तरीका है, यह आप unancyowen से बाइनरी के साथ प्वाइंट बादल लाइब्रेरी (PCL) का निर्माण कर रहे तरह दिखता है। इस मामले में मैं आपके system environment variables are setup correctly को सुनिश्चित करने का सुझाव देता हूं जो वर्तमान में चल रही प्रक्रिया को स्वचालित करेगा और find_package() विधियों के काम को सुविधाजनक बनाएगा। मान लीजिए कि आप एक ही निर्देशिका में सब कुछ स्थापित कर चुके हैं (यानी जहां आप पहले से ही FLANN और Eigen से जुड़े हुए हैं) निम्नलिखित डिफ़ॉल्ट पीसीएल तृतीय पक्ष पुस्तकालयों को पथ में जोड़ा जाना चाहिए:

सी: \ प्रोग्राम फ़ाइलें \ पीसीएल 1.7.2 \ 3rdParty \ Flann \ बिन

C: \ Program Files \ पीसीएल 1.7.2 \ 3rdParty \ VTK \ बिन

C: \ Program Files \ पीसीएल 1.7.2 \ 3rdParty \ Eigen

C: \ Program Files \ पीसीएल 1.7.2 \ 3rdParty \ बूस्ट

टी मुर्गी क्यूटी, OpenNI आदि जो अलग से स्थापित कर रहे हैं।

और तुम भी जोड़ सकते हैं:

BOOST_INCLUDEDIR: C: \ Program Files \ पीसीएल 1.7.2 \ 3rdParty \ बूस्ट \ \ बढ़ावा-X_XX \ बढ़ावा (अपने संस्करण संख्या के साथ X_XX बदलें)

शामिल BOOST_LIBRARYDIR: C: \ Program Files \ पीसीएल 1.7।2 \ 3rdParty \ बूस्ट \ lib

BOOST_ROOT: C: \ 3rdParty \ Program Files \ पीसीएल 1.7.2 \ बूस्ट

EIGEN_ROOT: C: \ Program Files \ पीसीएल 1.7.2 \ 3rdParty \ Eigen