2012-02-06 17 views
6

पर ओपनसीवी 2.3.1 के खिलाफ लिंकिंग मैं ओपनसीवी के लिए नया हूं, और मुझे जुड़ाव में समस्या है।उबंटू

मैं उबंटू 11.10 उपयोग कर रहा हूँ, OpenCV 2.3.1 this गाइड के अनुसार स्थापित किया गया था:

मैं इसके साथ कई छोटे अनुप्रयोगों के निर्माण कर रहा हूँ, और यह ठीक लग रहा है। आमतौर पर, मैं pkg-config --libs --cflags opencv के साथ निर्माण कर रहा हूं।

अब, मैं कुछ ढांचे को बनाने की कोशिश कर रहा हूं जिसे किसी और ने लिखा है, यह किसी भी समस्या के बिना संकलित करता है, लेकिन मैं इसे लिंक नहीं कर सकता: "अनसुलझा संदर्भ ..." की एक लंबी सूची है उन्हें)। opencv_core से संबंधित सभी प्रतीकों को नहीं मिला है।

मैंने प्रीकंपील्ड हेडर समर्थन के बिना OpenCV को पुन: संकलित करने का प्रयास किया, मदद नहीं की। बेशक। :(

test_opencv_core आवेदन ठीक चल रहा है, लेकिन opencv_rand विफल रहा है। मुझे लगता है कि यह कहना है कि opencv_core, सही सामान्य रूप में है, लेकिन यह अभी भी जब मैं इसकी आवश्यकता है काम नहीं करता है ...

आप कर सकते हैं तो कृपया ? मुझे कुछ संकेत देने की कोशिश कर रहा हूँ मैं वहाँ खो

अग्रिम धन्यवाद, डेविड

अद्यतन:।। हल

जीसीसी 4.6.1 की आवश्यकता है कि libs और स्रोत साझा libs के लिए pathes से पहले कमांड लाइन में एपियर होगा। क्यूं कर? क्या पता। सिर्फ इस बेवकूफ गलती :(के लिए 24 घंटे बिताए

अद्यतन:।

लिंकर केवल एक बार एक संग्रह खोज करेंगे, स्थान पर जहां यह है: समझ में आता है ld आदमी पृष्ठ से कमांड लाइन पर निर्दिष्ट है। यदि संग्रह एक प्रतीक को परिभाषित करता है जो कमांड लाइन पर संग्रह संग्रह से पहले दिखाई देने वाली किसी ऑब्जेक्ट में अपरिभाषित था, तो लिंकर में संग्रह से उचित फ़ाइल (0) शामिल होगी। हालांकि, एक अपरिभाषित प्रतीकदिखाई देने वाली वस्तु में कमांड लाइन परबाद में लिंकर को संग्रह को फिर से खोजने का कारण नहीं बन जाएगा। एक तरह से खोज करने के लिए अभिलेखागार कई बार लिंकर के लिए मजबूर करने के लिए (विकल्प

यह है कि

+0

अन्य ढांचा एक पुस्तकालय है कि आप लिंक के रूप में आपूर्ति की जाती है, तो -

देखें।। आपको ओपनसीवी से भी लिंक करना पड़ सकता है। –

+0

धन्यवाद। यह ढांचा ऑब्जेक्ट फाइलों के रूप में प्रयोग किया जाता है, साझा लाइब्रेरी के रूप में नहीं। मैं बस इन ऑब्जेक्ट्स का उपयोग करने वाले नमूना अनुप्रयोग को संकलित करने की कोशिश कर रहा हूं, और लिंकिंग काम नहीं कर रहा है। – David

+3

आपको चाहिए अपने समाधान को एक उत्तर के रूप में पोस्ट करें (एक प्रश्न संपादित करने के बजाय), और इसे स्वीकार करें। इस तरह दूसरों को पता है कि इसका उत्तर दिया गया है भविष्य में। – mevatron

उत्तर

1

जीसीसी 4.6.1 की आवश्यकता है कि libs और स्रोतों में दिखाई देगा -

देखें।। । साझा libs के रास्तों से पहले आदेश पंक्ति मैं नहीं जानता कि क्यों

अद्यतन:। समझ में आता है ld आदमी पृष्ठ से :।

लिंकर केवल एक बार एक संग्रह खोजेगा, उस स्थान पर जहां कमांड लाइन पर निर्दिष्ट है।यदि संग्रह एक प्रतीक को परिभाषित करता है जो कमांड लाइन पर संग्रह संग्रह से पहले दिखाई देने वाली किसी ऑब्जेक्ट में अपरिभाषित था, तो लिंकर में संग्रह से उपयुक्त फ़ाइल (0) शामिल होगी। हालांकि, कमांड लाइन पर बाद में दिखाई देने वाली ऑब्जेक्ट में एक अनिर्धारित प्रतीक लिंकर को संग्रह को फिर से खोजने का कारण नहीं बनता है। , तो एक तरह से खोज करने के लिए अभिलेखागार कई बार लिंकर के लिए मजबूर करने के लिए (विकल्प

यह है कि