में प्रकारों को हल नहीं कर सकता है मैंने हाल ही में एक्लिप्स 3.6 से ग्रहण 3.7 में बदल दिया है, जिसे मैं उबंटू 11.04 में सी ++ विकास के लिए उपयोग कर रहा हूं।ग्रहण 3.7 सी ++ संपादक
संस्करण 3.6 के साथ मुझे कोई बड़ी परेशानी नहीं थी, सिवाय इसके कि मुझे हमेशा सूचकांक के साथ कुछ समस्याएं थीं। अब संस्करण 3.7 के साथ यह अनसुलझे प्रकारों को त्रुटियों के रूप में चिह्नित करना शुरू करता है। चूंकि सूचकांक मुझे और भी नापसंद करता है, इसलिए मेरी ग्रहण स्पष्ट रूप से uint16_t
या size_t
जैसे प्रकारों को नहीं जानता है।
कोड संपादक में प्रदर्शित त्रुटियों के विपरीत, मेरे कंपाइलर को कोड को संकलित करने और सभी प्रतीकों और प्रकारों को हल करने में कोई समस्या नहीं है, इसलिए यह आईडीई की समस्या है।
क्या इस व्यवहार से बचने के कोई तरीके हैं, क्योंकि सभी लाल रेखांकित मेरे कोड को अधिक से अधिक अपठनीय बनाते हैं ...?
अद्यतन:
कुछ शोध और डेनिस से जवाब मुझे पता चला कि मैं जब से मैं एक I32 लक्ष्य के बजाय एक PowerPC के लिए निर्माण कर रहा हूँ Project Properties/ C/C++ General/ Paths and Symbols
करने के लिए कुछ रास्तों को जोड़ने की आवश्यकता के साथ ठीक है , मैं सिर्फ /usr/include
नहीं जोड़ सकता। इसके बजाय मैं सभी मानक हेडर (जैसे stdint.h
) के लिए
/usr/powerpc-linux-gnu/libc/usr/include
जोड़ने की जरूरत है। इसके अलावा, मैं की जरूरत:
/usr/lib/gcc/powerpc-linux-gnu/4.5.1/include
stdarg.h
के लिए।
अब लगभग सभी त्रुटियां चली गई हैं। हेडर stdio.h
से एकमात्र फ़ंक्शन जो अभी भी मुझे परेशान करता है printf
है। मैंने इसे देखा और हेडर फ़ाइल स्वयं शामिल पथों के भीतर है। फिर भी मुझे एक त्रुटि मिलती है जो Function printf could not be resolved
कहती है। मैं फिर से ध्यान देना चाहता हूं कि ये केवल ग्रहण द्वारा प्रदर्शित त्रुटियां हैं - संकलन स्वयं ठीक काम करता है।
तो यह वास्तव में 3 प्रश्न फेंकता है:
परियोजना गुण में
Paths and Symbols
अनुभाग coheres साथC++ Build/Settings/C++ Includes
खंड से बाहर पथ शामिल हैं। इसका मतलब है कि उन वर्गों में से किसी एक में पथ जोड़ने/हटाने से सीधे दूसरों की प्रविष्टि प्रभावित होती है। चूंकिC++ Includes
सीधे कंपाइलर के साथ समेकित है, इसलिए मुझे आश्चर्य है कि क्यों संकलक सही तरीके से संकलित कर सकता है (और हेडर पाता है) भले ही वे उसे पथ के रूप में पास न करें? क्या कोई मानक पथ जीसीसी उपयोग करता है, जिसे मैं नहीं जानता?ग्रहण में उन्हें
printf
क्यों नहीं मिला? हेडरफ़ाइलstdio.h
शामिल है और इसमेंprintf
की घोषणा भी शामिल है - तो ग्रहण कोड संपादक मुझे क्यों बताता है कि यह इसे हल नहीं कर सकता है?हेडर फ़ाइलों को इतना विभाजित क्यों किया जाता है? मुझे पता है कि अगर मैं किसी अन्य ट्रैगेट (उदाहरण के लिए पावरपीसी) के लिए निर्माण कर रहा हूं तो मुझे अन्य हेडर फाइलों की आवश्यकता है - लेकिन जीएनयू जीसीसी ने उन शीर्षकों को अलग-अलग डीआईआर में क्यों अलग किया है?
मैं powerpc-linux-gnu-g ++ कंपाइलर का उपयोग कर रहा हूं। मेरे सी ++ बिल्ड सेटिंग्स में मैंने पथ को शामिल किया है ('/ usr/powerpc-linux-gnu/include/C++/4.5.1')। इस पथ में मैंने परियोजना में पथ भी शामिल किए हैं ... दुर्भाग्यवश कुछ भी नहीं बदले .. – Toby
'size_t' को '' में परिभाषित किया गया है। यदि आप इसे # अपनी फ़ाइल में शामिल करते हैं तो देखें कि क्या यह लाल रेखाएं दूर हो जाती है। यदि नहीं, तो देखें कि '# शामिल ' पीले रंग की रेखा के साथ रेखांकित है। यदि ऐसा हो तो होवर करें, और यदि यह कहता है कि यह नहीं मिल रहा है तो आपको अपने शामिल सेटअप के साथ कोई समस्या है। अपनी परियोजना के लिए इंडेक्स को फिर से बनाने का प्रयास करें। –
Dennis
हाय डेनिस, आपके इनपुट के लिए धन्यवाद - मैंने अभी सवाल को थोड़ा सा अद्यतन किया है। शायद आप मेरी मदद कर सकते हैं। – Toby