2009-07-07 12 views
7

में स्टेटिक लाइब्रेरी को लिंक करना मेरे पास एक आईफोन ऐप है जो ओपनसीवी लाइब्रेरी पर भारी निर्भर करता है; इस प्रकार, मैंने अपने ऐप के साथ शामिल करने के लिए इस लाइब्रेरी का एक स्थिर संस्करण संकलित किया है। ऐसा करने के लिए निर्देश अपेक्षाकृत सरल हैं: Using OpenCV on iPhone। एकमात्र गोचा गया जिसमें मैं भाग गया था लिंकर ध्वज, STANDARD_C_PLUS_PLUS_LIBRARY_TYPE "standard" पर सेट कर रहा था। ऐप संकलित और ओएस 2.0 और 2.2 के तहत पूरी तरह से भाग गया।आईफोन एसडीके 3.0

एसडीके 3.0 में अपग्रेड करने और मेरे ऐप को फिर से संकलित करने का प्रयास करने के बाद, मैं इस लिंकर ध्वज के साथ एक समस्या में भाग रहा हूं।

ld: जबकि जोड़ने मैं इस त्रुटि मिल रही पुस्तकालय -lstdc के लिए ++ नहीं मिला - स्थिर

यह भी दिलचस्प है कि अपने सिस्टम, पर "libstdC++ - स्थिर" वर्तमान प्रतीत होता है कि हर iPhoneOS और iPhoneSimulator किया जा रहा है IPhoneOS.platform/SDKs/iPhoneOS3.0.sk को छोड़कर एसडीके।

$ locate libstdc++-static 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libstdc++-static.a 
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a 
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libstdc++-static.a 
/usr/lib/libstdc++-static.a 

मैं बहुत विस्मित कर रहा हूँ, न कि Google या iPhone देव मंचों पर कोई जवाब मिल कर पाए हैं: यहाँ खोज परिणाम हैं। अगर कोई यहां कुछ प्रकाश डाल सकता है तो मैं वास्तव में सराहना करता हूं।

धन्यवाद!

+0

ओएस 3.x में libstdC++ क्या संस्करण है? –

उत्तर

1

बस एक अनुमान - बिल्ड गुणों में 'लाइब्रेरी खोज पथ' विकल्प में निर्देशिकाओं में से किसी एक को जोड़ने का प्रयास करें?

+0

यह काम किया! धन्यवाद! मैं फ़ाइल को पुराने एसडीके से कॉपी करने की कोशिश कर रहा था, लेकिन वह काम नहीं कर रहा था (हालांकि मुझे यकीन नहीं है कि मुझे उस निर्देशिका को फिर से स्कैन करने के लिए 'ldconfig' के समतुल्य करने की आवश्यकता है, इसलिए मैं इसके बजाय रीबूट करने वाला था) – pix0r

+0

बढ़िया! मैंने पहली बार एलडी_LIBRARY_PATH के बारे में सोचना शुरू कर दिया और फिर यह अनुमान लगाया कि यह संभवतः गुणों में है। – John

0

कि सही मायने में puzziling है, केवल एक चीज मैं के बारे में सोच सकते हैं कि /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk अपने पुस्तकालय खोज पथ में नहीं है, लेकिन है कि बहुत संभावना नहीं होगी।

+0

मैं आईफोनओएस के लिए संकलन करने की कोशिश कर रहा था, सिम्युलेटर नहीं। इसे दोनों के लिए काम करने की जरूरत है। – pix0r

+0

आप सही हैं, जो सिर्फ मेरे पीछे फिसल गया था, फिर आईफोन के लिए लाइब्रेरी कहां है? यह आपकी सूची में प्रकट नहीं होता है .... – hhafez

+0

ठीक है, वह समस्या थी;) ऐसा लगता है जैसे ऐप्पल ने एसडीके 3.0 में इसे छोड़ दिया है - शायद सिर्फ एक गलती। यह पता चला है कि लाइब्रेरी का 2.2 संस्करण 3.0 में ठीक काम करता है। – pix0r

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