मुझे अपने कंपाइलर के साथ कोई समस्या है, मुझे बता रहा है कि एक लाइब्रेरी में एक फ़ंक्शन का उपयोग करने के लिए एक 'अनिर्धारित संदर्भ' है।लिंकर दुःख - अपरिभाषित संदर्भ
- मैं सी के लिए जीसीसी के साथ पार संकलन
- मैं जो एक शामिल हैडर जो एक और शीर्ष लेख, जो प्रोटोटाइप शामिल होता माध्यम से पहुँचा है एक पुस्तकालय समारोह बोल रहा हूँ कर रहा हूँ: मुझे इस समस्या पर कुछ जानकारी साझा करते हैं ।
- मैंने -इ का उपयोग करके हेडर निर्देशिका शामिल की है और मुझे यकीन है कि यह पाया जा रहा है।
- मैं पहले .o फाइलें बना रहा हूं और फिर उन्हें एक अलग कमांड में जोड़ रहा हूं।
तो मेरा विचार यह है कि यह ऑर्डर हो सकता है जिसमें मैं लाइब्रेरी फाइलें शामिल करता हूं, लेकिन मुझे यकीन नहीं है कि उन्हें आदेश देने का सही तरीका क्या है। मैंने .o फ़ाइल के पहले और बाद में हेडर फ़ोल्डर को शामिल करने का प्रयास किया।
कुछ सुझाव महान होंगे, और शायद यह और स्पष्टीकरण कि लिंकर इसकी बात कैसे करता है।
धन्यवाद!
जवाब
- के जवाब कोई .a पुस्तकालय फ़ाइल है, बस ज और पुस्तकालय में ग, तो -l उचित
- एक पुस्तकालय फ़ाइल की मेरी समझ नहीं है यह है कि यह केवल हेडर और स्रोत फ़ाइलों का संग्रह है, लेकिन हो सकता है कि यह स्रोत से बनाई गई .o फ़ाइलों का संग्रह हो ?!
- कोई लाइब्रेरी ऑब्जेक्ट फ़ाइल नहीं बनाई जा रही है, शायद वहां होना चाहिए ?? हां लगता है कि मैं शामिल और पुस्तकालयों के बीच अंतर को समझ नहीं पा रहा हूं ... मैं उस पर काम करूंगा :-)
सभी प्रतिक्रियाओं के लिए धन्यवाद! मैंने पुस्तकालयों के बारे में बहुत कुछ सीखा। मैं सभी प्रतिक्रियाओं को स्वीकृत उत्तर के रूप में रखना चाहता हूं :-)
एक हेडर फ़ाइल (डिफ़ॉल्ट रूप से '.h') _can_ में किसी भी प्रकार का स्रोत शामिल है, लेकिन यह _strongly_ को मैक्रो परिभाषाओं और _declarations_ में कुछ भी जगह देने के लिए निराश किया गया है। – vonbrand