Vodniki

Popravek: Ni določenih ciljev in ni mogoče najti datoteke make.

Ne glede na to, ali delate z Ubuntujem, Debianom ali Red Hatom, boste morda videli napako, ki se glasi make: *** Ni določenih ciljev in ni mogoče najti datoteke make. Nehaj. Ker je to splošno vprašanje, povezano z GNU Make kot celoto, ga boste morda videli na neštetih implementacijah Unixa. To pomeni, da v vašem trenutnem delovnem imeniku ni datoteke z imenom makefile ali Makefile. Na srečo je to enostavno odpraviti.

1. način: Iskanje datoteke Make v trenutnem imeniku

Morda boste želeli poskusiti zagnati naredite ukaz še enkrat v trenutnem imeniku, če želite preveriti, ali se vam pojavi enaka napaka. To je še posebej pomembno, če ste odprli novo okno terminala in že poskušali poiskati pravi imenik ali če ste od zadnjega poskusa zagnati GNU make uporabljali ukaz cd.

Če predpostavimo, da je, poskusite zagnati ls ali dir ukaz, da vidite, katere datoteke so v vašem trenutnem imeniku. Morda niste v desnem delu drevesa imenikov. Če opazite, da vidite mape, ki spadajo v vaš root / directory ali vaš home ~ imenik, potem zaženite ukaz cd, da se postavite na pravo mesto za zagon ukaza make.

Obstaja možnost, da se znajdete še dlje od mesta, kjer pričakujete, da boste. V našem primeru smo poskusili zagnati make iz imenika / var / crash in ugotovili, da sploh ni deloval. Ne moremo pričakovati, da se bo zagnalo od tu, saj so edine datoteke na tej lokaciji iz nepovezanih poročil o zrušitvah.

Več kot verjetno boste želeli zagnati ukaz make iz imenika, ki se nahaja nekje znotraj vašega domačega imenika. Če ste na primer iz vira gradili najnovejšo različico GNU nano, bi verjetno imeli imenik na ~ / nano-2.9.6, v katerega bi lahko cd-jeli in znova zagnali make. Morda boste želeli poskusiti s tekom ls še enkrat, preden poskusite narediti, da zagotovite, da se v imeniku nahaja datoteka make, iz katere lahko gradite.

Upoštevajte, da boste morali najprej konfigurirati namestitev. Ukaz configure ustvari popolno okolje za uspeh prevajalnika GNU. Če niti v pravilnem imeniku projekta ne najdete datoteke make, zaženite ./konfiguriraj medtem ko ste še vedno v njej, sledi ji naredite ukaz. Če se to pravilno prevede, lahko svoj projekt namestite z sudo make install, vendar ne pozabite, da ne želite zgraditi ničesar kot root, zato nikoli ne boste želeli zagnati sudo make ali česar koli drugega zunaj namestitve.

2. način: Določanje datoteke Make Make po meri

Ob predpostavki, da je težava odpravljena, ni več treba storiti ničesar. Vendar je treba upoštevati dva primera posebne uporabe, če prejšnja metoda ni odpravila vaše težave. Oba vključujeta pisanje lastne make datoteke za projekt, ki ste ga konfigurirali ročno.

Z datoteko -f lahko določite datoteko po meri, ki se imenuje drugače kot dobesedno. Če ste na primer imeli varnostno datoteko makefile, imenovano makefile.bak, jo lahko določite z zagonom make -f makefile.bak iz ukazne vrstice. Makefile.bak lahko zamenjate s katerim koli imenom datoteke, možnost -i pa lahko vključite, če želite med zagonom prevajalnika prezreti napake v prilagojeni ali zastareli datoteki make. To običajno ni priporočljivo, ker boste verjetno želeli urediti svojo datoteko make, če je z njo kaj narobe.

Drugi zelo tesno povezan primer uporabe vključuje situacijo, v kateri je pomembna občutljivost na velike in male črke. Spodaj so ločene datoteke v načinu poslovanja Unix:

  • Makefile
  • makefile
  • makeFile
  • MakeFile
  • MakefilE

Po meri konfigurirani programi morda ne bodo mogli prepoznati datoteke datotek z lihimi črkami. Če ste ga napisali na roko za projekt kodiranja, pri katerem delate, ga boste verjetno želeli preimenovati v datoteko make, čeprav bi lahko z možnostjo -i zagotovili, da jo lahko GNU make najde. Ne pozabite, da če ste vse pravilno napisali, lahko še vedno zaženete ./configure iz lastnega projekta, da ga prisilite, da ustvari pravo okolje in se izogne ​​tej težavi.

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