Remediere: nu s-au specificat ținte și nu s-a găsit niciun makefile



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

Indiferent dacă lucrați cu Ubuntu, Debian sau Red Hat, este posibil să vedeți o eroare care spune: *** Nu s-au specificat ținte și nu s-a găsit niciun fișier de make. Stop. Deoarece aceasta este o problemă generală legată de GNU Make în ansamblu, s-ar putea să o vedeți în nenumărate implementări Unix. Înseamnă că nu există un fișier numit makefile sau Makefile în directorul dvs. curent de lucru. Din fericire, este o eroare ușor de remediat.



Metoda 1: Găsirea unui Makefile în Directorul curent

Poate doriți să încercați să rulați face comandați încă o dată în directorul curent pentru a vedea dacă aceeași eroare este aruncată asupra dvs. Acest lucru este important mai ales dacă ați deschis o nouă fereastră de terminal și ați încercat deja să localizați directorul potrivit sau dacă ați folosit comanda cd de la ultima dată când ați încercat să rulați GNU make.



Presupunând că da, încercați să rulați eu sunt sau pentru tine comanda pentru a vedea ce fișiere sunt în directorul curent. Este posibil să nu vă aflați în partea dreaptă a arborelui directorului. Dacă observați că vedeți directoare care aparțin rădăcinii / directorului sau directorului dvs. de acasă, atunci veți dori să rulați comanda cd pentru a vă poziționa în locul potrivit pentru a rula comanda make.



Există șansa să vă regăsiți și mai departe de locul în care vă așteptați să fiți. În exemplul nostru, am încercat să rulăm marca din directorul / var / crash și am constatat că nu funcționează deloc. Nu poate fi de așteptat să ruleze de aici, deoarece singurele fișiere din această locație specială provin din rapoarte de blocare neafiliate.

Mai mult decât probabil, veți dori să rulați comanda make dintr-un director care se află undeva în interiorul directorului de acasă. De exemplu, dacă creați cea mai recentă versiune a GNU nano din sursă, probabil că ați avea un director situat la ~ / nano-2.9.6 pe care îl puteți cd și apoi să rulați make din nou. Poate doriți să încercați să rulați eu sunt încă o dată înainte de a încerca să faceți pentru a vă asigura că există un makefile aflat în director pentru a putea crea.

Rețineți că va trebui să configurați mai întâi instalarea. Comanda configure creează mediul perfect pentru ca compilatorul GNU să înflorească. Dacă nu găsiți un makefile chiar și în directorul corect al proiectului, atunci rulați ./configure în timp ce ești încă înăuntru, urmat de face comanda. Dacă acest lucru se compilează corect, atunci puteți instala proiectul cu sudo make install , dar nu uitați că nu doriți să construiți nimic ca root, așa că nu veți dori niciodată să rulați sudo make sau orice altceva în afara instalării.

Metoda 2: specificarea unui makefile personalizat

Presupunând că problema a fost rezolvată, nu mai trebuie să faceți nimic. Cu toate acestea, există două cazuri de utilizare speciale care trebuie luate în considerare dacă metoda anterioară nu v-a corectat problema. Ambele implică scrierea propriului fișier de make-up pentru un proiect pe care l-ați configurat manual.

Puteți specifica un makefile personalizat care se numește altceva decât makefile literal folosind opțiunea -f. De exemplu, dacă ați avea un makefile de rezervă numit makefile.bak, atunci îl puteți specifica executând make -f makefile.bak din linia de comandă. Puteți înlocui makefile.bak cu orice nume de fișier și puteți include opțiunea -i dacă doriți să ignorați erorile într-un makefile personalizat sau învechit în timp ce rulează compilatorul. De obicei, acest lucru nu este recomandat, deoarece probabil că veți dori să vă editați fișierul de make dacă există ceva în neregulă.

Celălalt caz de utilizare foarte strâns legat implică o situație în care sensibilitatea la caz este o problemă. Următoarele sunt toate fișierele separate în modul Unix de a face afaceri:

  • Makefile
  • makefile
  • makeFile
  • MakeFile
  • MakefilE

Este posibil ca programele configurate personalizate să nu poată recunoaște un makefile cu majuscule ciudate. Dacă l-ați scris de mână pentru un proiect de codificare la care lucrați, atunci probabil că veți dori să îl redenumiți makefile, deși ați putea folosi opțiunea -i pentru a vă asigura că GNU make este capabil să îl găsească. Amintiți-vă că, dacă ați scris totul corect, atunci puteți rula în continuare ./configure din propriul proiect pentru a-l obliga să genereze mediul potrivit și pentru a evita această problemă, pentru început.

3 minute citite