Ayusin: Walang tinukoy na mga target at walang nahanap na makefile.



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Nagtatrabaho ka man sa Ubuntu, Debian o Red Hat, maaari kang makakita ng isang error na mabasa na gumawa: *** Walang tinukoy na mga target at walang nahanap na makefile. Tigilan mo na Dahil ito ay isang pangkalahatang isyu na nauugnay sa GNU Make bilang isang kabuuan, maaari mo itong makita sa hindi mabilang na pagpapatupad ng Unix. Nangangahulugan ito na walang isang file na tinatawag na makefile o Makefile sa iyong kasalukuyang gumaganang direktoryo. Sa kasamaang palad, iyon ay isang madaling error upang ayusin.



Paraan 1: Paghanap ng isang Makefile sa Kasalukuyang Direktoryo

Maaari mong subukang patakbuhin ang gumawa utos ng isa pang beses sa kasalukuyang direktoryo upang makita kung ang parehong error ay itinapon sa iyo. Ito ay lalong mahalaga kung nagbukas ka ng isang bagong window ng terminal at sinubukan mo na hanapin ang tamang direktoryo o kung ginamit mo ang cd command mula noong huling oras na sinubukan mong patakbuhin ang GNU make.



Ipagpalagay na ginagawa nito, subukang patakbuhin ang ls o sa iyo utos na makita kung anong mga file ang nasa iyong kasalukuyang direktoryo. Maaaring wala ka sa tamang bahagi ng puno ng direktoryo. Kung napansin mo na nakikita mo ang mga direktoryo na nabibilang sa iyong root / direktoryo o iyong home ~ direktoryo, kung gayon gugustuhin mong patakbuhin ang cd command upang iposisyon ang iyong sarili sa tamang lugar upang patakbuhin ang make command.

Mayroong isang pagkakataon na maaari mong makita ang iyong sarili kahit na malayo sa kung saan ka inaasahan na maging. Sa aming halimbawa, sinubukan naming magpatakbo ng make mula sa direktoryo ng / var / crash at nalaman na hindi talaga ito gumagana. Hindi ito inaasahang tatakbo mula dito, dahil ang tanging mga file sa partikular na lokasyon na ito ay mula sa hindi nauugnay na mga ulat sa pag-crash.

Higit sa malamang, gugustuhin mong patakbuhin ang iyong make command mula sa isang direktoryo na matatagpuan sa isang lugar sa loob ng iyong direktoryo sa bahay. Halimbawa, kung nagtatayo ka ng pinakabagong bersyon ng GNU nano mula sa mapagkukunan malamang na mayroon kang isang direktoryo na matatagpuan sa ~ / nano-2.9.6 na maaari mong i-cd at pagkatapos ay patakbuhin muli ang paggawa. Maaari mong subukang tumakbo ls sa sandaling muli bago mo subukang gawin upang matiyak na mayroong isang makefile na matatagpuan sa loob ng direktoryo para sa iyo mula sa bumuo.

Tandaan na kakailanganin mong i-configure muna ang pag-install. Lumilikha ang utos ng pag-configure ng perpektong kapaligiran para umunlad ang tagatala ng GNU. Kung hindi ka nakakahanap ng isang makefile kahit na sa tamang direktoryo ng proyekto, pagkatapos ay tumakbo ./ configure habang nasa loob ka pa nito sinusundan ng gumawa utos Kung tama itong naiipon, maaari mo ring mai-install ang iyong proyekto sudo gumawa ng pag-install , ngunit tandaan na hindi mo nais na bumuo ng anumang bagay bilang ugat kaya't hindi mo gugustuhin na magpatakbo ng sudo make o anumang bagay sa labas ng pag-install.

Paraan 2: Pagtukoy ng isang Pasadyang Makefile

Ipagpalagay na naayos ang isyu, wala nang kailangan pang gawin. Gayunpaman, mayroong dalawang mga espesyal na kaso ng paggamit upang isaalang-alang kung hindi naitama ng nakaraang pamamaraan ang iyong problema. Parehong nagsasangkot ang pagsulat ng iyong sariling makefile para sa isang proyekto na na-configure mo nang manu-mano.

Maaari mong tukuyin ang isang pasadyang makefile na tinatawag na ibang bagay kaysa sa literal na makefile sa pamamagitan ng paggamit ng pagpipiliang -f. Halimbawa, kung mayroon kang isang backup na makefile na tinatawag na makefile.bak kung gayon maaari mo itong tukuyin sa pamamagitan ng pagtakbo make -f makefile.bak mula sa linya ng utos. Maaari mong palitan ang makefile.bak ng anumang pangalan ng file sa lahat at maaari mong isama ang pagpipiliang -i kung nais mong balewalain ang mga error sa isang pasadya o hindi napapanahong makefile habang tumatakbo ang tagatala. Kadalasan hindi ito inirerekomenda, dahil malamang na gugustuhin mong i-edit ang iyong makefile kung mayroong anumang mali dito.

Ang iba pang malapit na nauugnay na kaso ng paggamit ay nagsasangkot ng isang sitwasyon kung saan ang isyu ng pagiging sensitibo sa kaso ay isang isyu. Ang mga sumusunod ay lahat ng magkakahiwalay na mga file sa paraan ng Unix ng paggawa ng negosyo:

  • Makefile
  • gumawa
  • gumawa ngFile
  • MakeFile
  • MakefilE

Ang mga pasadyang naka-configure na programa ay maaaring hindi makilala ang isang makefile na may kakaibang paggamit ng malaking titik. Kung naisulat mo ito para sa isang proyekto sa pag-coding na pinagtatrabahuhan mo, malamang na gugustuhin mong palitan ang pangalan nito ng makefile bagaman maaari mong gamitin ang pagpipiliang -i upang matiyak na ang GNU gumawa ay may kakayahang hanapin ito. Tandaan na kung naisulat mo nang tama ang lahat, maaari mo pa ring patakbuhin ./configure mula sa iyong sariling proyekto upang pilitin ito upang makabuo ng tamang kapaligiran at maiwasan ang problemang ito, upang magsimula ka.

Basahin ang 3 minuto