2013-01-17 11 views
12

मैं सी ++ का अभ्यास कर रहा हूं। मैं बस एक्सकोड में सी ++ फाइलें जोड़ता हूं और इसमें कुछ स्ट्रिंग स्प्लिटिंग कार्यक्षमता लिखता हूं। इसके बाद में मैं अपनी एपडिलेगेट फ़ाइल में .mm फ़ाइल का सी ++ फ़ाइल यानी एक्सटेंशन शामिल करता हूं और सी ++ कक्षा की .h फ़ाइल से कॉल फ़ंक्शन शामिल करता हूं। लेकिन मुझे लाल रेखा में एक स्थिर त्रुटि मिली जो 'iostream' फ़ाइल नहीं मिली है। मैंने नवीनतम एक्सकोड संस्करण 4.5 और आईओएस 6.0 का उपयोग किया। कृपया मेरी त्रुटि या एक्सकोड स्क्रीन के स्क्रीन शॉट देखें। enter image description here'iostream' फ़ाइल नहीं मिला xcode 4.5 में त्रुटि उत्पन्न होती है?

मैंने link जानकारी के अनुसार मेरे कोड को संशोधित करने का प्रयास किया लेकिन कोई सफलता नहीं मिली। :(

भी मैं साथ ही यह link जानकारी पीछा किया, लेकिन परिणाम एक ही है।

धन्यवाद iHungry

+0

उद्देश्य-सी में काम करने वाले शीर्षलेख से '+ शामिल' सी ++ कोड न करें। (आपकी समस्या यह हो सकती है कि आप '.m' फ़ाइल में कहीं भी 'StringSplit.h' शामिल हैं।) – Mankarse

+0

@Mankarse, क्षमा करें, मैं आपको नहीं मिल रहा हूं। मुझे उद्देश्य-सी कक्षा में सी ++ वर्ग फ़ाइल शामिल करना है। मैं यह करता हूं लेकिन यह मुझे अतिरिक्त त्रुटि फेंक देता है। – Tirth

+0

यदि 'StringSplit.h' उद्देश्य-सी ++ (उद्देश्य-सी के विपरीत) है, तो आपको इसे केवल '.mm' फ़ाइलों से शामिल करना चाहिए और कभी भी' .m' फ़ाइलों को शामिल नहीं करना चाहिए। –

उत्तर

10

Objective C इसके कार्यान्वयन फ़ाइलों के लिए .m एक्सटेंशन हो रही है। आप Objective C में C++ उपयोग करना चाहते हैं यह होना चाहिए .mm एक्सटेंशन हैं। आप C++ हेडर फाइलों को अपने .mm फ़ाइल में शामिल कर सकते हैं। लेकिन अगर आप अपनी हेडर फाइलों को अपनी .h फ़ाइल में शामिल करना चाहते हैं, तो आपकोकी जांच करनी होगी उस के लिए, जैसे

#ifdef __cplus 
#include <iostream> 
#endif 

लेकिन, मुझे .h फ़ाइल में C++ हेडर फाइल को शामिल करके किसी भी कार्यों प्रयास नहीं किया है। आशा करता हूँ की ये काम करेगा।

+0

+1 ........  – TheTiger

+1

यो भी सी फाइलों का उपयोग कर सकते हैं। –

+0

@AnopVaidya, हाँ हम कर सकते हैं। लेकिन मेरी आवश्यकता के अनुसार मुझे सी ++ में ऐसी कार्यक्षमता करना है। – Tirth

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