2011-01-15 19 views
8

मैं वर्तमान में एक सरल प्रोग्राम संकलित करने की कोशिश कर रहा हूं जिसमें दो शीर्षलेख फ़ाइलें शामिल हैं। मैं उन्हें समाधान एक्सप्लोरर में देखता हूं, जहां मैंने उन्हें "मौजूदा फाइलों को शामिल करने" के माध्यम से शामिल किया था। हालांकि, जब मैं अपना प्रोग्राम चलाता हूं तो उसे निम्न त्रुटि मिलती है। घातक त्रुटि C1083: फ़ाइल को शामिल नहीं किया जा सकता है: 'FileWrite.h': ऐसी कोई फ़ाइल या निर्देशिका नहीं।विजुअल स्टूडियो 2008 में हेडर फ़ाइलों को कैसे शामिल करें?

#include "FileWrite.h" 

और उसके बाद प्रोग्राम कोड के बाकी: समस्या यह है कि मैं फ़ाइल हैडर के फ़ोल्डर में और कोड में मैं लिखा है शामिल देखते हैं। क्या ऐसा करने के लिए कुछ और आवश्यक है ताकि संकलक हेडर फ़ाइल देख सके और उसे .cpp फ़ाइल से लिंक कर सकूं, जिसे मैं संकलित करने की कोशिश कर रहा हूं?

उत्तर

1

फाइलों सहित जब संकलक पहली बार वर्तमान निर्देशिका में दिखता है (निर्देशिका जिसमें स्रोत .cpp फ़ाइल है) तो यह अतिरिक्त शामिल निर्देशिकाओं में दिखता है। यदि FileWrite.h आपकी निर्देशिका फ़ाइल के समान निर्देशिका में नहीं है, तो अतिरिक्त शामिल निर्देशिकाओं की जांच करें।

अतिरिक्त इस परियोजना की संपत्ति पेज नज़र में निर्देशिका में शामिल हैं और देखते हैं अगर वे फ़ोल्डर जिसमें FileWrite.h में है शामिल हैं।

10

ऐसा करने के दो तरीके हैं।

1) केवल 2 का उपयोग कर, के रूप में यह जब यह संकलन एक परियोजना के लिए निर्भरता पता लगाने की मुश्किल होगा से चालू परियोजना

Select your project -> properties -> C/C++ -> General -> Additional Include Directories - 
Include your header file directory. 

2) सभी परियोजनाओं

Tools -> Options -> VC++ Directories -> Include files - Add the header file directory. 

बचना लिए के लिए आपके सिस्टम से अलग सिस्टम पर।

+0

+1 निर्भरता के बारे में टिप्पणी के लिए –

15

यदि आप अपने कोड में #include "FileWrite.h" जैसे कुछ लिखते हैं तो आपको यह सुनिश्चित करना होगा कि संकलक उस फ़ाइल को ढूंढ सके। वहाँ तीन विकल्प हैं:

  • FileWrite.h या तो अपने स्रोत कोड फ़ाइल (सीपीपी) या
  • कि हेडर फाइल के लिए पथ के रूप में ही निर्देशिका में होना चाहिए (परियोजना के गुण में सूचीबद्ध किया जाना चाहिए चाहिए सी में/C++ -> जनरल -> अतिरिक्त निर्देशिकाएँ) या
  • पथ अपने VisualStudio में सेट किया जा सकता शामिल करें - यह में जोड़ने में फ़ाइलें शामिल करें उपकरण> विकल्प> परियोजनाओं और Solutions-> कुलपति ++ निर्देशिकाएँ

इनमें से कौन से विकल्प खोल का उपयोग किया जाता है इस पर निर्भर करता है कि क्या हेडर इस प्रोजेक्ट (1 विकल्प) या किसी अन्य प्रोजेक्ट (अन्य दो विकल्पों में से कोई भी) से उत्पन्न होता है।

+0

+1 * उस शीर्षलेख फ़ाइल के पथ को परियोजना की गुणों में सूचीबद्ध किया जाना चाहिए (सी/सी ++ -> सामान्य -> ​​अतिरिक्त निर्देशिकाएं शामिल करें) * बहुत बढ़िया! –

1

आपने कहा कि फ़ाइल "हेडर" फ़ोल्डर में है। इसका मतलब हो सकता है कि हेडर फ़िल्टर या फाइल सिस्टम पर एक वास्तविक शीर्षलेख निर्देशिका हो सकती है। जब आप अपनी परियोजना से फ़ाइल को शामिल करते हैं तो आपको उस फ़ाइल से पथ निर्दिष्ट करने की आवश्यकता होती है जिसमें आप शामिल हैं। तो, अगर आप ऐसा कुछ था:

src/main.cpp 
include/my_object.h 

आप #include "../include/my_object.h" main.cpp में प्रयोग करेंगे।

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

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