2012-08-30 12 views
11

मेरे पास एकाधिक परियोजनाओं के साथ एक कार्यक्षेत्र है, जो सभी किसी भी समस्या के साथ संकलित नहीं है। हालांकि, कुछ परियोजनाएं अनसुलझे प्रतीकों के बारे में संपादक में अनसुलझे प्रतीकों के बारे में बहुत सारी चेतावनियां दे रही हैं। अधिकांश कार्यक्षेत्र, या तृतीय पक्ष पुस्तकालयों में अन्य परियोजनाओं के शीर्षलेख हैं।ग्रहण सीडीटी सूचकांक - अनसुलझे कैसे हल करें

गूगलिंग सुझाव देता है कि यह सूचकांक के साथ एक समस्या है, लेकिन मुझे इसे ठीक करने के तरीके के बारे में कोई सुसंगत स्पष्टीकरण नहीं मिला है - मुझे लगता है कि मुझे इन पुस्तकालयों में सूचकांक के पथ में पथ जोड़ने की जरूरत है, लेकिन मैं नहीं कर सकता ऐसा करने के लिए कोई विकल्प देखें (मैं जूनो का उपयोग कर रहा हूं)।

क्या कोई मुझे बता सकता है कि सीडीटी के सूचकांक को कॉन्फ़िगर कैसे करें?

मुझे दो परियोजनाओं में एसटीएल हेडर के लिए चेतावनियां भी शामिल हैं। कुछ एसटीएल हेडर हल हो जाते हैं लेकिन अन्य नहीं होते हैं, और सूची दो परियोजनाओं के बीच समान नहीं लगती है (एक को वेक्टर और आईस्ट्रीम जैसी चीजें मिलती हैं, लेकिन स्स्ट्रीम या स्ट्रिंग नहीं होती है, अन्य को iostream भी नहीं मिलता है) ।

संभवतः प्रासंगिक: ये सी ++ परियोजनाएं हैं, लेकिन सभी फ़ाइल एक्सटेंशन .c हैं। मैंने जीसीसी सी कंपाइलर कमांड को 'g ++' में संकलित करने के लिए बदल दिया, लेकिन मुझे लगता है कि मुझे इसके साथ सामना करने के लिए इंडेक्सर सेटिंग्स में कुछ करने की भी आवश्यकता है?

उत्तर

6

ठीक है, इसलिए अब मैंने इस समस्या को ठीक कर दिया है।

  1. अनसुलझे कार्यक्षेत्र में अन्य परियोजनाओं से शामिल है और अन्य परियोजनाओं को संदर्भों के रूप में जोड़कर हल किया गया है। मुझे लगता है कि कंपाइलर को पता था कि कहां देखना है क्योंकि मैंने सूची को शामिल सूची में जोड़ा होगा, लेकिन इंडेक्सर संभवतः ग्रहण करने के कारण केवल एक बार प्रसंस्करण शीर्षकों के कारण नहीं था?)

  2. अनसुलझा एसटीएल I से बदलकर तय किया गया मेरी सभी .c फाइलें जो वास्तव में सी ++ से .cpp थीं। संकलन कमांड को 'g ++' में बदलना स्पष्ट रूप से प्रोजेक्ट को सी ++ के रूप में पेश करने के लिए सूचकांक को बताने के लिए पर्याप्त नहीं था।

1 के मामले में, मुझे अनसुलझे त्रुटियों को हटाने के लिए पहले संदर्भित परियोजनाओं के सूचकांक को साफ/पुनर्निर्माण करने की आवश्यकता थी।

+1

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

5

सही कार्यक्षेत्र में अपनी परियोजना के लिए क्लिक करें, चुनें Properties ->C++ General ->Paths and Symbols, तो जोड़ने के भी शामिल है और अपने विशिष्ट संकलक के लिए प्रतीक, पुस्तकालयों जोड़ने के लिए, और अन्य सामग्री आप टैब उपलब्ध पर की जरूरत है। उसके बाद Apply हिट करें - इसे फिर से अनुक्रमण करना शुरू करना चाहिए, और आपकी समस्याएं पूरी होनी चाहिए।

+2

आपकी प्रतिक्रिया एलेक्ज़ेंड्रु के लिए धन्यवाद। दुर्भाग्यवश, यह मेरी मदद नहीं कर रहा है - 'गुण> सी ++ सामान्य> पथ और प्रतीक' के अंतर्गत सूची 'सी/सी ++ बिल्ड> सेटिंग्स> टूल सेटिंग्स> शामिल है' के तहत सूची का दर्पण प्रतीत होता है, जो मेरे पास था प्रोजेक्ट को संकलित करने के लिए आवश्यक निर्देशिकाओं में शामिल पथों के साथ पहले से ही आबादी है। इंडेक्सर अभी भी उन निर्देशिकाओं में हेडर के लिए 'अनसुलझे शामिल' चेतावनियां जारी करता है। – jam

+0

आप निम्न का प्रयास कर सकते हैं: अपनी प्रोजेक्ट, 'गुण' ->' इंडेक्स 'पर राइट-क्लिक करें और वहां विकल्पों को आज़माएं:' पुनर्निर्मित करें ',' संशोधित फ़ाइलों के साथ अपडेट करें ',' सभी फ़ाइलों को ताज़ा करें ',' अनसुलझा के लिए खोजें ' । आमतौर पर विकल्प 2 और 3 मेरे मुद्दों को ठीक करते हैं। –

+1

मैं पहले से ही अपनी अनुक्रमणिका का पुनर्निर्माण कर चुका हूं, लेकिन सुझाव के लिए धन्यवाद। मेरा मानना ​​है कि मैंने इसे तोड़ दिया होगा - मैंने देखा है कि एक परियोजना में अनसुलझा शामिल है वास्तव में अन्य परियोजनाओं में से एक के नाम पर सूचीबद्ध किया गया था। इसलिए, मैंने उस संदर्भ को एक संदर्भ के रूप में जोड़ा, सूचकांक का पुनर्निर्माण किया, और अब यह कहता है कि 0 अनसुलझे शामिल हैं। देखेंगे कि यह फिक्स मेरी सभी परियोजनाओं के लिए काम करता है और इसे उत्तर के रूप में जोड़ता है :) – jam

3

मुझे ऐसी ही समस्या थी जहां मेरी परियोजना का निर्माण होगा, लेकिन एक्सेलिप केप्लर में अनसुलझा दिखाया गया है।

मेरे मामले में मैंने एक मौजूदा एआरएम प्रोजेक्ट लिया था और कस्टम बिल्ड कॉन्फ़िगरेशन बनाया था जो एक अलग टूल श्रृंखला का उपयोग करता था। नए निर्माण विन्यास में सभी सही शामिल थे, इसलिए परियोजना सही ढंग से बनाई गई लेकिन सूचकांक इसे उठा नहीं रहा था।

मैंने सक्रिय बिल्ड कॉन्फ़िगरेशन का उपयोग करने के लिए इंडेक्सर सेट करके इसे ठीक किया। विंडो में-> प्राथमिकताएं-> सी/सी ++ -> इंडेक्सर, "इंडेक्सर के लिए कॉन्फ़िगरेशन बनाएं" लेबल वाले अनुभाग के तहत मैंने "सक्रिय बिल्ड कॉन्फ़िगरेशन का उपयोग करें" चुना और इसे साफ़ कर दिया।

0

सभी उत्तर सहायक हैं लेकिन मेरी समस्या हल करने वाली एक और चाल थी। मुझे पता चला कि कंपाइलर के विपरीत इंडेक्सर शामिल पथों की उप-निर्देशिकाओं को संसाधित नहीं करता है। हेडर फ़ाइलों को शामिल करते समय आपको अधिक विशिष्ट होने की आवश्यकता है।

उदाहरण
#include "उपनिर्देशिका \ include_2.h"

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