Gidai

NUSTATYTI: Nenurodyti tikslai ir nerasta failo.

Nesvarbu, ar dirbate su „Ubuntu“, „Debian“ ar „Red Hat“, galite pamatyti klaidą: „Nenurodyti jokie tikslai ir nerasta failo. Sustabdyti. Kadangi tai yra bendra su GNU Make visuma susijusi problema, galite ją pamatyti daugybėje „Unix“ diegimų. Tai reiškia, kad dabartiniame darbo kataloge nėra failo, pavadinto „makefile“ arba „Makefile“. Laimei, tai lengva pašalinti.

1 metodas: „Makefile“ radimas dabartiniame kataloge

Galite pabandyti paleisti padaryti komandą dar kartą dabartiniame kataloge, kad sužinotumėte, ar ta pati klaida nėra jums mesta. Tai ypač svarbu, jei atidarėte naują terminalo langą ir jau bandėte rasti tinkamą katalogą, arba jei naudojote komandą cd nuo paskutinio karto, kai bandėte paleisti GNU make.

Darant prielaidą, kad taip yra, pabandykite paleisti ls arba rež komandą, norėdami pamatyti, kokie failai yra jūsų dabartiniame kataloge. Galite būti ne dešinėje katalogo medžio dalyje. Jei pastebite, kad matote katalogus, kurie priklauso jūsų šakniniam / katalogui arba jūsų namų ~ katalogui, norėsite paleisti komandą cd, kad atsidurtumėte reikiamoje vietoje, kad paleistumėte komandą make.

Yra tikimybė, kad galite atsidurti dar toliau, kur tikitės. Savo pavyzdyje bandėme paleisti „make“ iš katalogo / var / crash ir nustatėme, kad jis visiškai neveikia. Negalima tikėtis, kad ji bus paleista iš čia, nes vieninteliai failai šioje konkrečioje vietoje yra iš nesusijusių avarijų ataskaitų.

Labiau tikėtina, kad norėsite paleisti komandą „make“ iš katalogo, esančio kažkur jūsų namų kataloge. Pvz., Jei kūrėte naujausią „GNU nano“ versiją iš šaltinio, tikriausiai turėsite katalogą, esantį ~ / nano-2.9.6, kurį galėtumėte CD įrašyti ir tada vėl paleisti „make“. Galbūt norėsite pabandyti bėgti ls dar kartą, prieš bandydami įsitikinti, kad kataloge yra makefile, iš kurios galėsite kurti.

Atminkite, kad pirmiausia turėsite sukonfigūruoti diegimą. Komanda „configure“ sukuria puikią aplinką GNU kompiliatoriui klestėti. Jei nerandate failo net teisingame projekto kataloge, paleiskite ./konfigūruoti kol jūs vis dar esate jo viduje, o paskui padaryti komandą. Jei tai kompiliuojama teisingai, galite įdiegti savo projektą naudodami sudo make install, bet atminkite, kad nenorite nieko kurti kaip šakninės, todėl niekada nenorėsite paleisti „sudo make“ ar bet ko kito už diegimo ribų.

2 metodas: nurodykite pasirinktinį failą

Darant prielaidą, kad problema išspręsta, nieko daugiau nereikia daryti. Tačiau yra du ypatingo naudojimo atvejai, kuriuos reikia apsvarstyti, ar ankstesnis metodas neištaisė jūsų problemos. Tai reiškia, kad reikia parašyti savo makefailą projektui, kurį sukonfigūravote rankomis.

Naudodami parinktį -f, galite nurodyti pasirinktinį makefile, kuris vadinamas kitaip nei pažodžiui makefile. Pvz., Jei turite atsarginę „makefile“, vadinamą „makefile.bak“, galite nurodyti ją paleisdami make -f makefile.bak iš komandinės eilutės. Galite pakeisti makefile.bak bet kokiu failo pavadinimu ir įtraukti parinktį -i, jei kompiliatoriui dirbant norite ignoruoti pasirinktinio ar pasenusio makefile klaidas. Paprastai tai nerekomenduojama, nes tikriausiai norėsite redaguoti savo failą, jei jame yra kažkas negerai.

Kitas labai glaudžiai susijęs naudojimo atvejis apima situaciją, kai svarbi yra didžiųjų ir mažųjų raidžių problema. Šie yra atskiri failai, taikomi „Unix“ verslui:

  • „Makefile“
  • makefile
  • makeFile
  • „MakeFile“
  • „MakefilE“

Pasirinktinai sukonfigūruotos programos gali neatpažinti makefailo su nelygine didžiosiomis raidėmis. Jei ranka parašėte kodavimo projektui, kuriame dirbate, tikriausiai norėsite jį pervadinti į makefile, nors galite naudoti -i parinktį, kad įsitikintumėte, jog GNU make gali ją rasti. Atminkite, kad jei viską parašėte teisingai, vis tiek galite paleisti ./configure iš savo projekto, kad priverstumėte jį sukurti tinkamą aplinką ir išvengti šios problemos.

$config[zx-auto] not found$config[zx-overlay] not found