Pataisymas: nenurodyti tikslai ir nerasta failo.



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

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 pamatytumė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 tau komandą, kad pamatytumėte, kokie failai yra jūsų dabartiniame kataloge. Gali būti, kad esate ne dešinėje katalogo medžio dalyje. Jei pastebėjote, kad matote katalogus, priklausančius jūsų šakniniam / katalogui arba jūsų namų ~ katalogui, tada 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 makefile net teisingame projekto kataloge, paleiskite ./konfigūruoti kol jūs vis dar esate jo viduje, o po to - 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“ pavadinimą „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 bus kažkas negerai.

Kitas labai glaudžiai susijęs naudojimo atvejis yra situacija, 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.

3 minutes perskaityta