मैंने pila.h
और pila.c
फ़ाइलों के साथ एक लाइब्रेरी बनाई है। मैं फ़ाइल pila.c
gcc pila.c -c
के साथ संकलित करता हूं और यह पुस्तकालय ठीक काम करता है। मैंने इसका परीक्षण किया है।जीसीसी का उपयोग कर सी पर पुस्तकालय संकलित कैसे करें?
फिर मैंने एक और लाइब्रेरी बनाई। इस पुस्तकालय में pila_funciones_extra.h
और pila_funciones_extra.c
फ़ाइलें हैं। इस पुस्तकालय में मुझे पहली लाइब्रेरी शामिल करने की आवश्यकता है। फ़ाइल pila_funciones_extra.h
में मैं इसे शामिल करने के लिए अगली पंक्ति में कहें:
#include "pila.h"
और फ़ाइल pila_funciones_extra.c
में मैं अगली पंक्ति डाल:
#include "pila_funciones_extra.h"
के रूप में यह हो गया है।
लेकिन जब मैं फ़ाइल pila_funciones_extra.c
फ़ाइल संकलित करने का प्रयास करता हूं तो संकलक लाइब्रेरी pila
को शामिल करने की पहचान नहीं करता है। यह कहता है कि पुस्तकालय pila
में परिभाषित कार्यों, संरचनाओं, स्थिरांक और मैक्रोज़ को परिभाषित नहीं किया गया है।
मैंने इसे gcc pila_funciones_extra.c -c
और gcc pila_funciones_extra.c -c pila.o
से संकलित करने का प्रयास किया लेकिन यह काम नहीं करता है।
मैंने सुनिश्चित किया कि सभी फाइलें एक ही फ़ोल्डर में हैं।
मैं उबंटू पर काम कर रहा हूं।
क्या कोई मुझे संकलित करने का सही तरीका बता सकता है?
कृपया आपको प्राप्त होने वाली _exact_ कंपाइलर त्रुटि पोस्ट करें (संकलन लाइन + आउटपुट की पहली 5-10 पंक्तियां)। – Mat
क्या आप 'pila_funciones_extra.c' संकलित करते समय ध्वज' -l pila.o' का उपयोग करते हैं? –
क्या आप किसी भी समावेश-गार्ड का उपयोग कर रहे हैं? '# Ifndef's'? उदाहरण के लिए यदि आप दोनों शीर्षकों में इसका उपयोग करते हैं तो केवल '_extra.h' को शामिल किया जाएगा। –