2011-06-01 11 views
8

को लिंक नहीं कर रहा है मेरे पास एक निर्भर परियोजना के साथ एक्सकोड 4 में एक प्रोजेक्ट है (कल प्रोजेक्ट होता है)।एक्सकोड 4 नई संकलित स्थैतिक पुस्तकालय (आश्रित) परियोजना

जब मैं XCode के भीतर से कल परियोजना अद्यतन करते हैं, तो, माता पिता के प्रोजेक्ट को चलाने (यह वही कार्यक्षेत्र btw पर होता है), यह लग रहा है XCode संशोधित कल परियोजना को संकलित करता है लेकिन करने के लिए नव संकलित नहीं जुड़ता है की तरह libKal.a फ़ाइल।

मैं डिफ़ॉल्ट मूल परियोजना योजनाओं में से एक चला रहा हूं। लॉग से मैं बता सकता हूं कि चलते समय, यह मूल परियोजना बनाने से पहले निर्भर परियोजना बनाता है। लेकिन मेरे परिवर्तनों का उपयोग करने के लिए मैं मूल परियोजना को प्राप्त करने का एकमात्र तरीका यह है कि यदि मैं अभिभावक निर्माण लक्ष्य के "पुस्तकालयों के साथ लिंक बाइनरी" अनुभाग के तहत लिब्य लिंक के रूप में libKal.a उत्पाद को दोबारा जोड़ता हूं।

शायद सुराग: - मैं एलएलवीएम, का उपयोग कर रहा हूं - मेरे पास -all_load ध्वज है।

+1

आप शायद इस मुद्दे में भाग: http://stackoverflow.com/questions/6204364/changing-the-source-of-a-static-library-needs-clean-and-build-in- xcode -4 – LearnCocos2D

उत्तर

0

क्या होगा यदि आप का प्रयास करें:

  • स्वच्छ
  • पुनर्निर्माण

कि आमतौर पर ऐसे मामलों में मेरे लिए काम करता ...

0

अपने योजनाएं जाँच करें। पुस्तकालय पर निर्भर अनुप्रयोग के लिए सुनिश्चित करें कि निर्भरता हर समय बनाई जा रही है। मैंने पढ़ा है कि इस योजना में पहले से ही यह अपडेट होना चाहिए लेकिन कभी-कभी ऐसा नहीं होता है। आप एक उदाहरण देख सकते हैं ...

http://blog.carbonfive.com/2011/04/04/using-open-source-static-libraries-in-xcode-4/#configuring_the_projects_scheme

मूल रूप से आवेदन के लिए योजना को संपादित करने और ऊपर बाईं ओर आइटम बिल्ड पर क्लिक करें। आप उस लक्ष्य के हिस्से के रूप में चलने वाले प्रत्येक लक्ष्य को देखेंगे। यदि आप निर्भरता के लिए लक्ष्य नहीं देखते हैं तो आप इसे जोड़ सकते हैं। फिर सुनिश्चित करें कि आपका एप्लिकेशन अंतिम सूचीबद्ध है ताकि सभी निर्भरताएं पहले बनाई गई हों।

0

मैं आपको अपनी लाइब्रेरी और मुख्य परियोजनाओं के लिए एकल वर्कस्पेस का उपयोग करने का सुझाव दे सकता हूं। मुख्य परियोजना योजना में आपके मुख्य (पुस्तकालय को मुख्य लक्ष्य से पहले संकलित करने के लिए) और सेटअप शीर्षलेख खोज पथ से पहले लाइब्रेरी लक्ष्य जोड़ें।

0

अपने जीवन को सरल बनाएं और cocoaPods का उपयोग करें। यहां एक अच्छा tutorial है। CocoaPods स्वचालित रूप से आपके प्रोजेक्ट के लिए आवश्यक सभी पुस्तकालयों के साथ वर्कस्पेस बना देगा। मुझे पुस्तकालयों के साथ इस तरह की सभी तरह की समस्याएं होती थीं, और अब मैं सिर्फ पॉड्स का उपयोग करता हूं।

0

आपके प्रोजेक्ट को सेट अप करने के तरीके के आधार पर, एक्सकोड आवश्यक पुस्तकालयों को फिर से लिंक नहीं करेगा। इसे हर बार लिंक करने के लिए, आपको उस लक्ष्य के निर्माण चरणों में लक्ष्य निर्भरता के रूप में प्रोजेक्ट को जोड़ना होगा, जिसे आप लाइब्रेरी से लिंक करना चाहते हैं।

कहें कि आपके पास टेस्ट और दो प्रोजेक्ट्स नाम टेस्टएप्लिकेशन और टेस्ट लाइब्रेरी नामक वर्कस्पेस है। यदि आपने वर्कस्पेस में अलग-अलग परियोजनाओं के रूप में उन्हें शामिल किया है, तो आप TestAplication लक्ष्य के निर्माण चरणों के "चरणों के साथ लिंक बाइनरी" अनुभाग में लाइब्रेरी के रूप में TestAplplication को TestLibrary.a जोड़ने में सक्षम होंगे, लेकिन आप नहीं होंगे इसे "लक्ष्य निर्भरता" खंड में जोड़ने में सक्षम।

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

क्षमा करें, लेकिन यह थोड़ी देर हो गया है क्योंकि मुझे यह पता चला है कि मैंने अपनी परियोजनाओं को इस तरह से स्थापित किया है, इसलिए मुझे याद नहीं है कि स्थिति क्या है जहां लाइब्रेरी लिंक नहीं होती है। मुझे लगता है कि यह एक अलग परियोजना के बाद से कुछ था, एक्सकोड यह देखने के लिए जांच नहीं करेगा कि क्या इसे फिर से इमारत की आवश्यकता है और सिर्फ पिछली लाइब्रेरी के खिलाफ जुड़ा हुआ है। मुझे याद है कि जब तक मैंने इसे समझ लिया तब तक मेरा काम बस उस परियोजना में एक फाइल को छूना था जिसकी इमारत की आवश्यकता थी। मेरे पास टचएम नाम की एक फ़ाइल थी जिसे एक संकलन स्रोत के रूप में शामिल किया गया था यदि पुस्तकालय परियोजना जो मैं इमारत से पहले छूंगा। आप यह देखने के लिए एक ही काम कर सकते हैं कि क्या यह आपकी समस्या को भी ठीक करता है, यदि लाइब्रेरी प्रोजेक्ट को निर्भर परियोजना में ले जाना आपके लिए एक विकल्प नहीं है।

उम्मीद है कि मदद करता है।

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