2012-04-10 15 views
23

रोकें निम्न फ़ाइल को नीचे कॉपी करने के लिए, मुझे लापता विभाजक त्रुटि मिल रही है। टैबस्पेस के साथ कुछ भी गलत नहीं लगता है।कमांड मेकफ़ाइल बनाने में त्रुटि: 18: *** लापता विभाजक।

OBJS = driver.o snapshot.o 
SHOBJS = malloc.o mymemory.o 
CC = g++ 
DEBUG = -g 
CFLAGS = -Wall -c $(DEBUG) 
LFLAGS = -Wall $(DEBUG) 
Snapshot: $(OBJS) 
    $(CC) $(LFLAGS) $(OBJS) -o Snapshot 
driver.o: snapshot.h driver.cpp 
    $(CC) $(CFLAGS) driver.cpp 
snapshot.o: mymemory.h snapshot.h snapshot.cpp 
    $(CC) $(CFLAGS) snapshot.cpp 
libmymemory.so: $(SHOBJS) 
    gcc -shared -o libmymemory.so malloc.o mymemory.o 
malloc.o: malloc.c 
    gcc -fPIC -g -c -Wall malloc.c 
mymemory.o: mymemory.cpp 
gcc -fPIC -g -c -Wall mymemory.cpp 
clean: 
\rm *.o *~ Snapshot 

उत्तर

45

लाइन 18 gcc -fPIC -g -c -Wall mymemory.cpp है। मेक एक विभाजक की उम्मीद कर रहा है, आमतौर पर :। यह इस पंक्ति को कमांड के रूप में नहीं ढूँढ रहा है। आपने इरादे को गलत टाइप किया है: आपके पास रिक्त स्थान हैं जहां आपके पास एक टैब होना चाहिए।

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

+2

ऐसा लगता है कि समस्या मेरे जीएडिट के साथ थी, मैंने टैब को रिक्त स्थान के रूप में सेट किया था। इसलिए बग। धन्यवाद!!! – subramanian

+4

अकेले खराब टेक्स्ट एडिटर को छोड़ दें - समस्या 'बेवकूफ बेवकूफ है: \ –

1

मैं अगर यह सही है या कोड ऑनलाइन चिपकाने के एक विरूपण साक्ष्य है, लेकिन फाइल में पिछले दो आदेश के लिए खरोज लगता है कि यह इसके ऊपर बताए गए आदेशों की तुलना में छोटा होता है पता नहीं है। सावधानी से अपने अंतर को दोबारा जांचें।

13

मैंने यह त्रुटि संदेश देखा है जब फ़ाइल ने मेकफ़ाइल में किसी पंक्ति की शुरुआत में टैब वर्णों की जगह रिक्त स्थान का उपयोग किया था।

4

यह अधिकतर होता है यदि आप इंटरनेट से कोड पेस्ट करते हैं। हटाए गए कुंजी का उपयोग कर इंडेंट लाइनों से सभी रिक्त स्थान हटाएं। और तब प्रति पंक्ति केवल एक बार टैब कुंजी दबाएं।

इसे सहेजें और फ़ाइल को फिर से चलाने का प्रयास करें। यह अब काम करना चाहिए। यह मेरे लिए काम किया।