2013-04-26 14 views
5

युक्त स्टेटिक लाइब्रेरी आयात करते समय मैंने आईओएस के लिए ओपनसीवी का उपयोग करके एक बहुत ही सरल एप्लीकेशन विकसित किया। यह तब तक काम करता है जब तक मैंने अन्य प्रोजेक्ट में कोड का उपयोग करने का फैसला नहीं किया। मैं इस ARMv7 त्रुटि हो रही है और मैं नहीं देख सकते हैं, जहां समस्या (कृपया, पिछले छवि देखें)"आर्किटेक्चर armv7 के लिए अनिर्धारित प्रतीक" जब OPENCV फ़ंक्शंस

मैं अपने काम के कोड है, जो निम्नलिखित वास्तुकला जानकारी है की एक स्थिर lib फ़ाइल बनाई है: lib architecture

से मैं इसे एक * .a फ़ाइल में संकलित किया है और मेरे मुख्य परियोजना है, जो निम्नलिखित वास्तुकला जानकारी नहीं है करने के लिए dyOpenCv.a और एक DyOpenCV.h फ़ाइलें कहा: Project architecture

लेकिन जब मैं करने की कोशिश हेडर फ़ाइल के भीतर विधि का उपयोग करें (DyOpenCV.h), निम्न त्रुटि दिखाई देती है: armv7 error

क्या यह हो सकता है की किसी भी विचार?

+0

वे सभी समस्याएं जोड़ रहे हैं। सुनिश्चित करें कि आप अपनी परियोजना को उन पुस्तकालयों से लिंक करें जो उन प्रतीकों को लागू करते हैं। – karlphillip

उत्तर

10

जोड़ने पुस्तकालयों से संबंधित दो मुद्दों थे:

  1. सबसे पहले, हालांकि मेरी subproject opencv2.framework सही ढंग से जोड़ा गया है और इससे जुड़े था, मैं भी करने के लिए इस ढांचे जोड़ने के लिए किया था मेरी मुख्य परियोजना इस तरह से मैंने सीवी :: * समस्याओं को जोड़ने से छुटकारा पा लिया;

  2. दूसरा मुद्दा मेरे क्रॉसिंग कंपाइलर उद्देश्य-सी ++ कॉन्फ़िगरेशन से संबंधित था। एक बार जब मैं libC++ का उपयोग अपने मानक लाइब्रेरी के रूप में कर रहा था, तो मैंने अपने पर -lC++ जोड़ा अन्य लिंकर ध्वज। यदि आप अपनी मानक लाइब्रेरी के रूप में libstdC++ का उपयोग कर रहे हैं, तो आपको इसके बजाय -lstdC++ जोड़ना चाहिए।

उसके बाद, यह पूरी तरह से काम करता था। यद्यपि देखभाल करने के लिए कुछ स्मृति रिसाव थे)

चीयर्स,

2

मुझे ऐसा लगता है क्योंकि आपका प्रोजेक्ट सी ++ रनटाइम से लिंक नहीं कर रहा है।

अपने लिंक किए गए पुस्तकालयों में libC++। Dylib जोड़ने का प्रयास करें।

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