تم: لم يتم تحديد أهداف ولم يتم العثور على ملف makefile.



جرب أداة القضاء على المشاكل

سواء كنت تعمل مع Ubuntu أو Debian أو Red Hat ، فقد ترى خطأ يقرأ: make: *** لم يتم تحديد أهداف ولم يتم العثور على ملف makefile. قف. نظرًا لأن هذه مشكلة عامة تتعلق بـ GNU Make ككل ، فقد تراها في عدد لا يحصى من تطبيقات Unix. هذا يعني أنه لا يوجد ملف يسمى makefile أو Makefile في دليل العمل الحالي. لحسن الحظ ، هذا خطأ سهل الإصلاح.



الطريقة الأولى: البحث عن ملف Makefile في الدليل الحالي

قد ترغب في محاولة تشغيل يصنع الأمر مرة أخرى في الدليل الحالي لمعرفة ما إذا تم إلقاء نفس الخطأ عليك. هذا مهم بشكل خاص إذا كنت قد فتحت نافذة طرفية جديدة وحاولت بالفعل تحديد موقع الدليل الصحيح أو إذا كنت قد استخدمت الأمر cd منذ آخر مرة حاولت فيها تشغيل GNU make.



بافتراض ذلك ، حاول تشغيل ملف ls أو لك الأمر لمعرفة الملفات الموجودة في دليلك الحالي. قد لا تكون في الجزء الأيمن من شجرة الدليل. إذا لاحظت أنك ترى أدلة تنتمي إلى جذر / دليلك أو مجلد home ~ ، فسترغب في تشغيل الأمر cd لتضع نفسك في المكان المناسب لتشغيل الأمر make.

هناك احتمال أن تجد نفسك بعيدًا عن المكان الذي تتوقع أن تكون فيه. في مثالنا ، حاولنا تشغيل إجراء من دليل / var / الأعطال ووجدنا أنه لا يعمل على الإطلاق. لا يمكن توقع تشغيله من هنا ، حيث إن الملفات الوحيدة في هذا الموقع المحدد هي من تقارير أعطال غير ذات صلة.

على الأرجح ، سترغب في تشغيل أمر make من دليل موجود في مكان ما داخل دليلك الرئيسي. على سبيل المثال ، إذا كنت تبني أحدث إصدار من GNU nano من المصدر ، فمن المحتمل أن يكون لديك دليل موجود في ~ / nano-2.9.6 يمكنك القرص المضغوط إليه ثم تشغيل make مرة أخرى. قد ترغب في محاولة الجري ls مرة أخرى قبل أن تحاول التأكد من وجود ملف makefile داخل الدليل يمكنك البناء منه.

ضع في اعتبارك أنك ستحتاج إلى تهيئة التثبيت أولاً. أمر التكوين يخلق بيئة مثالية لمترجم جنو ليزدهر. إذا لم تعثر على ملف makefile حتى في دليل المشروع الصحيح ، فقم بتشغيل ./تهيئة بينما لا تزال بداخله متبوعًا بعلامة يصنع أمر. إذا تم تجميع هذا بشكل صحيح ، فيمكنك تثبيت مشروعك باستخدام sudo جعل التثبيت ، ولكن تذكر أنك لا تريد إنشاء أي شيء كجذر لذلك لن ترغب أبدًا في تشغيل sudo make أو أي شيء آخر خارج التثبيت.

الطريقة 2: تحديد ملف Makefile مخصص

بافتراض أنه تم حل المشكلة ، ليس هناك ما تحتاج إلى القيام به. ومع ذلك ، هناك حالتا استخدام خاصتان يجب مراعاتهما إذا كانت الطريقة السابقة لم تصحح مشكلتك. يتضمن كلاهما كتابة makefile الخاص بك لمشروع كنت قد قمت بتكوينه يدويًا.

يمكنك تحديد ملف makefile مخصص يسمى شيئًا بخلاف makefile حرفيًا باستخدام الخيار -f. على سبيل المثال ، إذا كان لديك ملف makefile احتياطي يسمى makefile.bak ، فيمكنك تحديده عن طريق التشغيل جعل-و makefile.bak من سطر الأوامر. يمكنك استبدال makefile.bak بأي اسم ملف على الإطلاق ويمكنك تضمين الخيار -i إذا أردت تجاهل الأخطاء في ملف makefile مخصص أو قديم أثناء تشغيل المترجم. لا يُنصح بهذا عادةً ، لأنك ربما تريد تعديل ملفك إذا كان هناك أي خطأ به.

حالة الاستخدام الأخرى وثيقة الصلة جدًا تتضمن موقفًا تكون فيه حساسية الحالة مشكلة. فيما يلي جميع الملفات المنفصلة بطريقة Unix لممارسة الأعمال:

  • Makefile
  • صنع
  • جعل الملف
  • MakeFile
  • ماكفيل

قد لا تتمكن البرامج المكونة بشكل مخصص من التعرف على ملف makefile باستخدام الأحرف الكبيرة الفردية. إذا كنت قد كتبته يدويًا لمشروع ترميز تعمل عليه ، فربما تريد إعادة تسميته makefile رغم أنه يمكنك استخدام الخيار -i للتأكد من أن GNU قادر على العثور عليه. تذكر أنك إذا كتبت كل شيء بشكل صحيح ، فلا يزال بإمكانك تشغيل ./configure من مشروعك لإجباره على إنشاء البيئة المناسبة وتجنب هذه المشكلة ، كبداية.

3 دقائق للقراءة