2010-06-07 13 views
29

मुझे मानक लाइब्रेरी हेडर के संशोधित संस्करणों के उपयोग के साथ कुछ फ़ाइलों को संकलित करने की आवश्यकता है। विजुअल सी ++ कंपाइलर के साथ मैं /एक्स (मानक शामिल पथों को अनदेखा करें) और /I (अतिरिक्त शामिल निर्देशिकाएं) पैरामीटर के उपयोग से ऐसा करूँगा। जीसीसी के साथ यह कैसे किया जाना चाहिए?जीसीसी: मानक को अनदेखा कैसे करें पथ शामिल हैं?

उत्तर

38
gcc -nostdinc -I/custom/include/path/goes/here 

-nostdinc पर ध्यान नहीं देता मानक सी निर्देशिका में शामिल
-nostdinc++ मानक सी ++ निर्देशिका

7

तुम सिर्फ अपने आदेश पंक्ति को -I जोड़ देते हैं तो आप देखेंगे (खासकर यदि आप भी -v जोड़ें) कि जीसीसी में दिखेगा शामिल पर ध्यान नहीं देता किसी भी अन्य फ़ोल्डर्स में देखने से पहले ये फ़ोल्डर्स पहले। वैकल्पिक एसटीएल लाइब्रेरी का उपयोग करने के लिए आपको --nostdinc जोड़ने की आवश्यकता नहीं है)।

इस तरह STLport में प्रयोग किया जाता है:

g++ -I path-to-stlport-include main.cpp -L path-to-stlport-lib -lstlport

+17

लेकिन कुछ मामलों में यह बेहतर है में नहीं मानक पथ, तो मानक हेडर एक मैं मामले में बदलने के लिए उपयोग कर रहा हूँ के बजाय शामिल नहीं किया जाएगा शामिल जब वह प्रतिस्थापन गुम हो जाता है। मेरे पीओवी से सफलतापूर्वक संकलित इकाई के भ्रमित व्यवहार की तुलना में उस मामले में संकलन त्रुटि होना बेहतर है। – okutane

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