תיקון: לא הוגדרו יעדים ולא נמצא קובץ makefile.



נסה את הכלי שלנו לביטול בעיות

בין אם אתה עובד עם אובונטו, דביאן או רד האט, ייתכן שתראה שגיאה שקוראת make: *** לא צוינו יעדים ולא נמצאה קובץ מקורי. תפסיק. מכיוון שמדובר בנושא כללי הקשור ל- GNU Make בכללותו, ייתכן שתראה זאת באינספור יישומי יוניקס. פירוש הדבר שאין קובץ בשם makefile או Makefile בספריית העבודה הנוכחית שלך. למרבה המזל, זו שגיאה קלה לתיקון.



שיטה 1: מציאת קובץ מקוון בספריה הנוכחית

ייתכן שתרצה לנסות להריץ את עשה פקודה פעם נוספת בספריה הנוכחית כדי לראות אם אותה שגיאה נזרקת לעברך. זה חשוב במיוחד אם פתחת חלון מסוף חדש וכבר ניסית לאתר את הספרייה הנכונה או אם השתמשת בפקודה cd מאז הפעם האחרונה שניסית להריץ את GNU.



בהנחה שכן, נסה להפעיל את ls אוֹ לך פקודה לראות אילו קבצים נמצאים בספריה הנוכחית שלך. יתכן שאתה לא נמצא בחלק הימני של עץ הספריות. אם תבחין שאתה רואה ספריות השייכות לספריית השורש / הספריה שלך או בספריית הבית ~ שלך, אז תרצה להפעיל את הפקודה cd כדי למקם את עצמך במקום הנכון להפעלת הפקודה make.

יש סיכוי שתמצא את עצמך רחוק עוד יותר מהמקום שאתה צפוי להיות בו. בדוגמה שלנו, ניסינו להריץ make מספריית / var / crash ומצאנו שזה לא עובד בכלל. לא ניתן לצפות כי זה יפעל מכאן, מכיוון שהקבצים היחידים במיקום מסוים זה הם מדוחות קריסה שאינם קשורים.

סביר להניח שתרצה להריץ את פקודת ה- make שלך ​​מספרייה שנמצאת אי שם בתוך הספרייה הביתית שלך. למשל, אם אתה בונה את הגרסה האחרונה של GNU nano מהמקור, סביר להניח שתהיה לך ספריה שנמצאת ב- ~ / nano-2.9.6 שתוכל להתקין אליה CD ואז לרוץ make שוב. כדאי לנסות לרוץ ls פעם נוספת לפני שאתה מנסה לבצע כדי להבטיח שיש קובץ מקורי בתוך הספרייה לבחירתך.

זכור כי תצטרך להגדיר את ההתקנה תחילה. הפקודה configure יוצרת את הסביבה המושלמת לפריחת מהדר GNU. אם אינך מוצא קובץ maky אפילו בספריית הפרויקט הנכונה, אז הפעל ./configure בזמן שאתה עדיין בתוכו ואחריו ה- עשה פקודה. אם פעולה זו הידור נכון, תוכל להתקין את הפרויקט שלך באמצעות סודו לבצע התקנה אך זכרו שאינכם רוצים לבנות שום דבר כשורש, כך שלעולם לא תרצו להריץ sudo make או כל דבר אחר מחוץ להתקנה.

שיטה 2: ציון קובץ ייצור מותאם אישית

בהנחה שתיקן את הבעיה, אין עוד מה שאתה צריך לעשות. עם זאת, ישנם שני מקרי שימוש מיוחדים שיש לשקול אם השיטה הקודמת לא תיקנה את הבעיה שלך. שניהם כוללים כתיבת קובץ מקורי משלך לפרויקט שהגדרת ביד.

באפשרותך לציין קובץ ייצור מותאם אישית הנקרא משהו אחר מלבד ביצוע פשוט, באמצעות האפשרות -f. לדוגמה, אם היה לך קובץ makefile שנקרא makefile.bak, אתה יכול לציין אותו על ידי הפעלה make -f makefile.bak משורת הפקודה. באפשרותך להחליף את makefile.bak בכל שם קובץ בכלל ותוכל לכלול את האפשרות -i אם ברצונך להתעלם משגיאות בקובץ makes מותאם אישית או מיושן בזמן שהמהדר פועל. זה בדרך כלל לא מומלץ, מכיוון שכנראה תרצה לערוך את הקובץ שלך אם יש בו משהו לא בסדר.

מקרה השימוש האחר הקשור מאוד כרוך במצב בו רגישות למקרה היא נושא. להלן כל הקבצים הנפרדים בדרך העשייה של יוניקס:

  • Makefile
  • makefile
  • makeFile
  • MakeFile
  • MakefilE

ייתכן שתוכניות שהוגדרו בהתאמה אישית לא יוכלו לזהות קובץ עם שימוש באותיות רישיות. אם כתבת אותו בכתב יד לפרויקט קידוד עליו אתה עובד, סביר להניח שתרצה לשנות את שמו makefile אם כי אתה יכול להשתמש באפשרות -i כדי להבטיח ש- GNU make יוכל למצוא אותו. זכור שאם כתבת הכל נכון, עדיין תוכל להריץ ./configure מהפרויקט שלך בכדי לאלץ אותו ליצור את הסביבה הנכונה ולהימנע מבעיה זו, מלכתחילה.

3 דקות קריאה