แก้ไข: ไม่ระบุเป้าหมายและไม่พบไฟล์ makefile
ไม่ว่าคุณจะทำงานกับ Ubuntu, Debian หรือ Red Hat คุณอาจเห็นข้อผิดพลาดที่อ่านได้: *** ไม่มีการระบุเป้าหมายและไม่พบ makefile หยุด. เนื่องจากนี่เป็นปัญหาทั่วไปที่เกี่ยวกับ GNU Make โดยรวมคุณอาจเห็นการใช้งาน Unix นับไม่ถ้วน หมายความว่าไม่มีไฟล์ชื่อ makefile หรือ Makefile ในไดเร็กทอรีปัจจุบันของคุณ โชคดีที่เป็นข้อผิดพลาดที่ง่ายในการแก้ไข
วิธีที่ 1: การค้นหา Makefile ในไดเรกทอรีปัจจุบัน
คุณอาจต้องการลองเรียกใช้คำสั่ง make อีกครั้งในไดเรกทอรีปัจจุบันเพื่อดูว่ามีข้อผิดพลาดเดียวกันได้รับการโยนที่คุณหรือไม่ นี่เป็นสิ่งสำคัญอย่างยิ่งถ้าคุณได้เปิดหน้าต่างเทอร์มินัลใหม่และพยายามหาตำแหน่งที่ถูกต้องหรือถ้าคุณใช้คำสั่ง cd ตั้งแต่ครั้งสุดท้ายที่คุณพยายามจะเรียกใช้ GNU make
สมมติว่าลองใช้ คำสั่ง ls หรือ dir เพื่อดูไฟล์ที่อยู่ในไดเรกทอรีปัจจุบันของคุณ คุณอาจไม่อยู่ในส่วนด้านขวาของโครงสร้างไดเรกทอรี ถ้าคุณสังเกตเห็นว่าคุณเห็นไดเร็กทอรีที่อยู่ในไดเรกทอรีราก / ไดเรกทอรีบ้านของคุณคุณควรใช้คำสั่ง cd เพื่อวางตำแหน่งให้ถูกต้องเพื่อเรียกใช้คำสั่ง make
มีโอกาสที่คุณอาจพบว่าตัวเองไกลออกไปจากที่ที่คุณคาดว่าจะเป็น ในตัวอย่างของเราเราได้พยายามเรียกใช้ make จากไดเร็กทอรี / var / crash และพบว่าไม่สามารถใช้งานได้ ไม่สามารถคาดว่าจะเรียกใช้จากที่นี่เนื่องจากไฟล์เฉพาะในตำแหน่งนี้เป็นรายงานความผิดพลาดที่ไม่เกี่ยวข้อง
มากกว่าจะคุณจะต้องการใช้คำสั่ง make จากไดเร็กทอรีที่อยู่ภายในไดเร็กทอรีบ้านของคุณ ตัวอย่างเช่นถ้าคุณกำลังสร้าง GNU nano เวอร์ชันล่าสุดจากแหล่งข้อมูลคุณอาจมีไดเรกทอรีอยู่ที่ ~ / nano-2.9.6 ซึ่งคุณสามารถใช้ซีดีไปแล้วเรียกใช้อีกครั้ง คุณอาจต้องการลองเรียกใช้ ls อีกครั้งก่อนที่คุณจะพยายามทำเพื่อให้แน่ใจว่ามี makefile อยู่ในไดเรกทอรีที่คุณสร้างมา
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่โปรดจำไว้ว่าคุณจะต้องกำหนดค่าการติดตั้งก่อน คำสั่ง configure จะสร้างสภาพแวดล้อมที่สมบูรณ์แบบสำหรับคอมไพเลอร์ GNU ที่จะรุ่งเรือง ถ้าคุณไม่พบ makefile แม้ในไดเร็กทอรีโครงการที่ถูกต้องให้รัน ./configure ขณะที่คุณยังอยู่ภายในของมันตามด้วยคำสั่ง make ถ้าคอมไพล์ถูกต้องคุณสามารถติดตั้งโครงการของคุณด้วย sudo make install แต่จำไว้ว่าคุณไม่ต้องการสร้างอะไรเป็น root ดังนั้นคุณจะไม่ต้องการเรียกใช้ sudo make หรืออะไรอื่นนอกจากการติดตั้ง
วิธีที่ 2: ระบุ Makefile ที่กำหนดเอง
สมมติว่าคุณแก้ไขปัญหาแล้วคุณจะไม่ต้องทำอะไรอีก อย่างไรก็ตามมีสองกรณีการใช้งานพิเศษเพื่อพิจารณาว่าวิธีการก่อนหน้านี้ไม่สามารถแก้ไขปัญหาของคุณได้หรือไม่ ทั้งสองอย่างนี้เกี่ยวข้องกับการเขียน makefile ของคุณเองสำหรับโครงการที่คุณได้รับการกำหนดค่าด้วยมือ
คุณสามารถระบุ makefile ที่กำหนดเองซึ่งเรียกว่าสิ่งอื่นที่ไม่ใช่ makefile ตามตัวอักษรโดยใช้ตัวเลือก -f ตัวอย่างเช่นถ้าคุณมี makefile สำรองที่เรียกว่า makefile.bak คุณอาจระบุได้โดยใช้ make -f makefile.bak จากบรรทัดคำสั่ง คุณอาจแทนที่ makefile.bak ด้วยชื่อไฟล์ใดก็ได้และคุณอาจรวมตัว -i ไว้หากต้องการละเว้นข้อผิดพลาดใน makefile แบบกำหนดเองหรือล้าสมัยในขณะที่คอมไพเลอร์ทำงานอยู่ โดยปกติจะไม่แนะนำเนื่องจากคุณอาจต้องการแก้ไข makefile ของคุณหากมีข้อผิดพลาดเกิดขึ้น
กรณีการใช้งานอื่น ๆ ที่เกี่ยวข้องอย่างใกล้ชิดเกี่ยวข้องกับสถานการณ์ที่ความไวของตัวพิมพ์เป็นปัญหา ต่อไปนี้เป็นไฟล์ที่แยกกันทั้งหมดในรูปแบบการดำเนินธุรกิจของยูนิกซ์:
- Makefile
- Makefile
- Makefile
- MakeFile
- Makefile
โปรแกรมที่กำหนดค่าเองอาจไม่รู้จัก makefile ด้วยการใช้อักษรตัวพิมพ์เล็ก ถ้าคุณได้เขียนโค้ดไว้สำหรับโครงการเขียนโค้ดที่คุณกำลังดำเนินการอยู่คุณอาจต้องการเปลี่ยนชื่อไฟล์ makefile แม้ว่าคุณจะสามารถใช้ตัวเลือก -i เพื่อให้มั่นใจได้ว่า GNU make จะสามารถค้นหาได้ โปรดจำไว้ว่าถ้าคุณได้เขียนอย่างถูกต้องแล้วคุณยังสามารถเรียกใช้ / กำหนดค่าจากโครงการของคุณเองเพื่อบังคับให้สร้างสภาพแวดล้อมที่เหมาะสมและหลีกเลี่ยงปัญหานี้เริ่มต้นด้วย
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่