Perbaiki: Tidak ada sasaran yang ditentukan dan tidak ada makefile dijumpai.



Cuba Instrumen Kami Untuk Menghapuskan Masalah

Sama ada anda bekerja dengan Ubuntu, Debian atau Red Hat, anda mungkin melihat ralat yang berbunyi membuat: *** Tidak ada sasaran yang ditentukan dan tidak dijumpai. Berhenti. Oleh kerana ini adalah masalah umum yang berkaitan dengan GNU Make secara keseluruhan, anda mungkin melihatnya pada pelaksanaan Unix yang tidak terkira banyaknya. Ini bermaksud bahawa tidak ada fail yang disebut makefile atau Makefile dalam direktori kerja anda sekarang. Nasib baik, itu adalah kesalahan yang mudah untuk diperbaiki.



Kaedah 1: Mencari Makefile di Direktori Semasa

Anda mungkin ingin mencuba menjalankan membuat perintah sekali lagi di direktori semasa untuk melihat apakah kesalahan yang sama dilemparkan kepada anda. Ini sangat penting jika anda telah membuka tetingkap terminal baru dan sudah berusaha mencari direktori yang betul atau jika anda telah menggunakan perintah cd sejak terakhir kali anda menjalankan JNU.



Dengan andaiannya, cuba jalankan ls atau kepada anda arahan untuk melihat fail apa yang ada di direktori semasa anda. Anda mungkin tidak berada di bahagian kanan pohon direktori. Sekiranya anda melihat bahawa anda melihat direktori yang terdapat di root / direktori atau direktori home anda, maka anda ingin menjalankan perintah cd untuk meletakkan diri anda di tempat yang tepat untuk menjalankan perintah make.



Ada kemungkinan anda mungkin mendapati diri anda lebih jauh dari tempat yang anda jangkakan. Dalam contoh kami, kami mencuba menjalankan make dari direktori / var / crash dan mendapati ia sama sekali tidak berfungsi. Tidak dapat dijangkakan berjalan dari sini, kerana satu-satunya fail di lokasi tertentu adalah dari laporan kerusakan yang tidak berkaitan.

Kemungkinan besar, anda mungkin ingin menjalankan perintah membuat anda dari direktori yang terletak di suatu tempat di dalam direktori utama anda. Sebagai contoh, jika anda membuat versi terbaru GNU nano dari sumber, maka anda mungkin mempunyai direktori yang terletak di ~ / nano-2.9.6 yang boleh anda cd dan kemudian jalankan lagi. Anda mungkin mahu mencuba berlari ls sekali lagi sebelum anda mencuba untuk memastikan bahawa ada makefile yang terletak di dalam direktori untuk anda bina.

Perlu diingat bahawa anda perlu mengkonfigurasi pemasangan terlebih dahulu. Perintah konfigurasi mewujudkan persekitaran yang sempurna untuk penyusun GNU berkembang. Sekiranya anda tidak menemui makefile walaupun di direktori projek yang betul, jalankan ./konfigurasi semasa anda masih berada di dalamnya diikuti oleh membuat arahan. Sekiranya ini disusun dengan betul, anda boleh memasang projek anda dengan sudo buat pasang , tetapi ingat bahawa anda tidak mahu membina apa-apa sebagai root sehingga anda tidak akan pernah mahu menjalankan sudo make atau perkara lain di luar pemasangan.

Kaedah 2: Menentukan Makefile Tersuai

Dengan andaian bahawa masalah ini sudah selesai, tidak ada lagi yang perlu anda lakukan. Walau bagaimanapun, terdapat dua kes penggunaan khas yang perlu dipertimbangkan sekiranya kaedah sebelumnya tidak menyelesaikan masalah anda. Kedua-duanya melibatkan penulisan makefile anda sendiri untuk projek yang telah anda konfigurasikan dengan tangan.

Anda boleh menentukan makefile khusus yang disebut sesuatu selain dari makefile secara harfiah dengan menggunakan pilihan -f. Sebagai contoh, jika anda mempunyai backupfile yang disebut makefile.bak maka anda mungkin menentukannya dengan menjalankan buat -f makefile.bak dari baris arahan. Anda boleh mengganti makefile.bak dengan nama fail apa pun dan anda boleh memasukkan pilihan -i jika anda ingin mengabaikan kesilapan dalam makefile khusus atau ketinggalan zaman semasa penyusun sedang berjalan. Ini biasanya tidak digalakkan, kerana anda mungkin ingin mengeditfile anda jika ada yang salah dengannya.

Kes penggunaan yang sangat berkait rapat melibatkan situasi di mana kepekaan kes menjadi masalah. Berikut adalah semua fail berasingan dalam cara Unix menjalankan perniagaan:

  • Makefile
  • makefile
  • buatFile
  • Buat Fail
  • MakefilE

Program yang dikonfigurasi khusus mungkin tidak dapat mengenali file makefile dengan huruf besar. Sekiranya anda telah menulisnya sendiri untuk projek pengekodan yang sedang anda jalankan, maka anda mungkin mahu menamakannya semula sebagaifile walaupun anda boleh menggunakan pilihan -i untuk memastikan bahawa pembuatan GNU mampu mencarinya. Ingatlah bahawa jika anda telah menulis semuanya dengan betul, maka anda masih dapat menjalankan ./konfigurasi dari projek anda sendiri untuk memaksanya menghasilkan persekitaran yang betul dan mengelakkan masalah ini, sebagai permulaan.

3 minit membaca