2011-02-10 13 views
5

मुझे लगता है कि इस कोड को शामिल एक मेकअप फ़ाइल है:कोई भी लक्ष्य निर्दिष्ट और कोई makefile पाया

all: main.o Etudiant.o 
    gcc -lobjc -o program main.o Etudiant.o 
main.o:main.m Etudiant.h 
    gcc -c main.m 
Etudiant.o:Etudiant.m Etudiant.h 
    gcc -c Etudiant.m 

जब मैं शेल कमांड में यह लिख:

:

$make 

मैं यह मिल गया

make: **** No targets specified and no makefile found. Stop. 

मैं इसे कैसे ठीक करूं?

+0

क्या आप निर्देशिका में मेक कमांड चला रहे हैं जहां मेकफ़ाइल है? – Mahesh

+0

... और "मेकफ़ाइल" नामक मेकफ़ाइल है (पूंजी एम के साथ)? –

+0

यदि 'मेक' टाइप करने की बजाय, आप 'ls -l' टाइप करते समय क्या प्राप्त करते हैं? –

उत्तर

14

एमएमएम ... मेकफ़ाइल। व्ही।

लाइन की शुरुआत में वह सभी व्हाइटस्पेस। यह टैब होना चाहिए। या मेक वास्तव में अस्पष्ट त्रुटि को बरकरार रखेगा। सुनिश्चित करें कि वे टैब हैं और पुनः प्रयास करें।


"टैब" लेबल वाले कीबोर्ड के बाईं ओर स्थित बटन देखें। रिक्त स्थान हटाएं और एक बार टैब वर्ण डालने के लिए हिट करें।


make all आज़माएं। आईआईआरसी (कुछ साल बाद मुझे मेकफ़ाइल के साथ मिलना पड़ा था) अधिकांश बनाता है all पर डिफ़ॉल्ट होगा, लेकिन शायद आपका नहीं है।

एक्सटेंशन कोई फर्क नहीं पड़ता।


पवित्र बिल्ली! हम सभी अतिरिक्त घने हैं (@bbum ज्यादातर तो)!

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

+0

हाय, निर्देशिका में मेक कमांड है जहां मेकफ़ाइल है और इसका नाम एम के साथ मेकफ़ाइल है। हालांकि "टैब" क्या है? – Malloc

+0

मैंने सफेद जगहों को हटाने की कोशिश की, मुझे हमेशा एक ही आउटपुट त्रुटि मिली :( – Malloc

+1

@Malek: और सुनिश्चित करें कि आपका संपादक "असली टैब" या "हार्ड टैब" का उपयोग करने के लिए सेट है, रिक्त स्थान नहीं। यदि आप कोको- एक्सकोड जैसे आधारित संपादक, ctrl-q दबाएं, फिर टैब को हमेशा एक वास्तविक टैब डालने के लिए। –

4

और कोई makefile

पाया तुम सिर्फ लिखते हैं, तो कोई तर्क के साथ make या make all, make मौजूदा निर्देशिका में Makefile नामक एक फ़ाइल के लिए दिखेगा। यदि यह वहां नहीं है, तो आपको मिली त्रुटि मिलती है। makeMakefile के लिए उपनिर्देशिका में नहीं दिखेगा और न ही यह Makefile.m नामक फ़ाइल स्वीकार करेगा।

+1

मालेक ने मेक का संस्करण निर्दिष्ट नहीं किया है, लेकिन GNUMake 'GNUmakefile' की तलाश में है, फिर 'मेकफ़ाइल' ', अंत में' मेकफ़ाइल '। – Beta

0

पुन: * कोई भी लक्ष्य निर्दिष्ट और कोई makefile पाया:
$ बनाएँ। रूक जा।

मुझे बस यह त्रुटि मिली और पाया कि मेकफ़ाइल एक्सटेंशन (कोई नहीं) को लाइन के साथ कहीं भी .bat में परिवर्तित कर दिया गया है।

0

बस इस त्रुटि के साथ कुछ बेहद निराशाजनक क्षण बिताए। मेरी गलती वह सब सूक्ष्म नहीं थी: मैंने मेकफ़ाइल मेकफ़ाइल को मेकफ़ाइल नहीं बनाया, इसलिए -फ मेकफ़ाइल कमांड (मेकफ़ाइल नाम को मजबूर करने) का उपयोग करने के बावजूद अभी भी नहीं मिला, क्योंकि यह मेकफ़ाइल था, मेकफ़ाइल नहीं था।

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