2011-01-18 16 views
37

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

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

+0

के बाद से यह प्रतीत होता है एप्पल पूरी तरह से Xcode 4 से इस सुविधा को हटा दिया है, मुझे लगता है कि एक ही रास्ता है कि हम इसे वापस मिल जाएगा एक Xcode प्लग में बनाने के लिए है। दुर्भाग्यवश, प्लग-इन एपीआई दस्तावेज नहीं है और ऐप्पल ने इसे जल्द ही खोलने के बारे में कोई बयान नहीं दिया है। –

+2

मुझे एक ही समस्या है। मुझे इस तरह की चीज को पोर्टिंग के लिए एक विधि के रूप में उपयोग करना पसंद है - मैं फ़ाइलों को किसी अन्य प्लेटफ़ॉर्म से लाता हूं और उन्हें यह देखने के लिए बनाता हूं कि त्रुटियों को मुझे प्रति-फ़ाइल आधार पर ठीक करने की आवश्यकता है। – jheriko

+0

आपको जॉन स्टीफन के उत्तर को स्वीकार करना चाहिए। – ksl

उत्तर

7

एक तरीका यह है कि मैं यह करने के लिए मिल गया है निम्नलिखित मेनू आदेश का उपयोग कर रहा है:

Product -> Generate Output -> Generate Preprocessed File 
Product -> Generate Output -> Generate Assembly File 

यह नहीं हो सकता है वास्तव में आप क्या चाहते हैं, लेकिन यह एक फ़ाइल संकलन होगा।

+0

एक्सकोड 4.6.3 के साथ, इन विकल्पों को मेरे लिए अचयनित किया गया है। –

+1

पहले फ़ाइल का चयन करें – Haroon

+0

एक्सकोड 5 में ऐसा कोई मेनू विकल्प नहीं। निराशाजनक। – Pang

-2

यदि आपकी फ़ाइल सी (या सी ++) फ़ाइल है, तो बस अपने टर्मिनल खोलते हैं, जिसमें फ़ाइल रहता फ़ोल्डर में जाएँ और टाइप

gcc -o outputFile inputFile.c 

मैं ऑब्जेक्टिव-सी है कि ज्यादा के साथ familar नहीं कर रहा हूँ, लेकिन जीसीसी काम कर सकता है क्योंकि यह सी ++ की तरह ही सी का एक सुपरसेट है।

आशा है कि मददगार था :)

+0

वास्तव में वह क्या नहीं मांगता और हां, जीसीसी इसे संकलित कर सकता है क्योंकि लंबे समय तक सी समर्थन संकलित किया गया है और आवश्यक पुस्तकालय शामिल हैं। – AoeAoe

-3

एकल फाइल संकलन के लिए आम आवश्यकता वाक्यविन्यास त्रुटियों के लिए यह जाँच कर रहा है। (कम से कम मेरे लिए)। चूंकि xcode4 आपके द्वारा टाइप किए जाने पर वाक्यविन्यास त्रुटियों को हाइलाइट करता है। ऐसा लगता है कि सेब ने उस सुविधा को हटा दिया।

+0

यह प्रश्न का उत्तर नहीं है ... – jheriko

+0

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

-2

कीबोर्ड शॉर्टकट Cmd + कश्मीर Xcode 3 पर और इससे पहले कि Xcode 4 पर Cmd + बी को पुनः मानचित्रित कर दिया गया है

ही पंक्तियों के साथ

, Cmd + वापसी था सीएमडी + आर (यदि आप प्रत्येक ने इसका इस्तेमाल किया)

+1

एक फ़ाइल को संकलित करना पूरी परियोजना के निर्माण के समान नहीं है। – fbrereto

+0

@fbrereto मुझे लगता है कि ओई 1 9 2 यह महसूस करता है, लेकिन 1 कर्म वाले लोग टिप्पणी पोस्ट नहीं कर सकते हैं। –

+0

@ महमूद अल-कुडसी मैं देखता हूं; मुझे सीएमडी + के रूप में उस छाप को नहीं मिला (एक्सकोड 3 में एक एकल स्रोत फ़ाइल संकलित) पूरे प्रोजेक्ट के निर्माण के समान ऑपरेशन नहीं है (दोनों एक्सकोड 3 और 4 पर सीएमडी + बी) शायद मैं बस पढ़ रहा हूं उसका जवाब गलत ... – fbrereto

-1

जब आप कोई प्रोजेक्ट बनाते हैं, तो xcode संकलन कमांड चलाता है। आप लॉग की जांच कर सकते हैं, अपनी फाइल की खोज कर सकते हैं और टर्मिनल पर उस कमांड को कॉपी कर सकते हैं। यह केवल उस फ़ाइल को संकलित करेगा जिसके लिए आप टर्मिनल पर कॉपी/पेस्ट करते हैं।

11

आदेश को निष्पादन कार्य उपमेनू में स्थानांतरित कर दिया गया है।

Product > Perform Action > Compile filename.cpp 

नीचे देखकर यह करने के लिए Cmd + कश्मीर सौंपने के लिए,

File > Preferences > Key Bindings > Product Menu group 

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