خطأ في Cygwin:*** لا يحتوي النمط المستهدف على `%'
سؤال
لقد حصلت على هذا الخطأ أثناء (إعادة) البناء باستخدام إصدار cygwin make.exe: 3.81.
Error : *** target pattern contains no `%'.
المحلول
ويرجع ذلك إلى وجود ":"
هذا الخطأ. ولذلك لم يعد يعتمد النوافذ المسارات.
تحتاج إلى تحميل النسخة 3.80 واستبدال make.exe
في الدليل \bin
.
وعلى ما يبدو أنه يحتاج cygintl12.dll
جدا.
نصائح أخرى
التراجع لجعل 3.80 (جيان4)
cd /usr/bin
mv make.exe make_381.exe
wget http://geant4.cern.ch/support/extras/cygwin/make.exe
chmod +x make.exe
ثَبَّتَ
libintl2
من إعداد cygwin للمطلوبcygintl-2.dll
وحصلت على نفس الخطأ عند محاولة بناء مشروع على لينكس أو OSX، التي بنيت في السابق على جهاز ويندوز وكان بعض على .o.d ملفات التسكع في المجلد الإخراج.
وبمجرد أن حذف يدويا على .o.d ملفات تم حل المشكلة. يبدو الأمر "تنظيف" بلدي IDE (CodeLite في هذه الحالة) لم حذف على .o.d ملفات.
وعلى الأرجح بسبب وجود القولون بعد حرف محرك الأقراص. على سبيل المثال النظر
build : $(NativeHeaders)/*
إذا
NativeHeaders=../../../cpp/generated
وبعد ذلك كل شيء على ما يرام، ولكن
NativeHeaders=C:/dev/folder/cpp/generated
والنتائج في الخطأ الذي تحصل عليه.
وكنت الحصول على هذا الخطأ لأنه لم يكن لديك شخصية تبويب (\ ر) في بداية صاياي. كنت قد expandtab في همة بلدي تعيين بحيث انها استبدال حرف جدولة مع 4 مسافات. عندما التفت أن من وغيرت مسافات للعلامة تبويب كانت ثابتة
كان لدى ال target pattern contains no '%'
حدث خطأ أثناء الإنشاء باستخدام Android NDK باستخدام cygwin.
لقد وجدت الرابط التالي مفيدًا:
الأخطاء التي تم إنشاؤها بواسطة Make
- "نمط الهدف المفقود."قف.'
- "أنماط مستهدفة متعددة."قف.'
- "النمط المستهدف لا يحتوي على `%".قف.'
- "قواعد النمط الضمني والثابت المختلطة."قف.'
يتم إنشاؤها لقواعد النمط الثابت المشوهة.الأول يعني عدم وجود نمط في القسم المستهدف من القاعدة؛والثاني يعني وجود أنماط متعددة في القسم المستهدف؛والثالث يعني أن الهدف لا يحتوي على حرف النمط (%)؛والرابع يعني أن الأجزاء الثلاثة من قاعدة النمط الثابت تحتوي على أحرف نمط (%) - يجب أن يحتوي الجزءان الأولان فقط.إذا رأيت هذه الأخطاء ولم تحاول إنشاء قاعدة نمط ثابت، تحقق من قيمة أي متغيرات في قوائم الأهداف والمتطلبات الأساسية للتأكد من أنها لا تحتوي على نقطتين. يرى بناء جملة قواعد النمط الثابت.
وهكذا، تضمن الحل الخاص بي تغيير متغيرات النظام من تنسيق Windows إلى تنسيق Unix كما يلي:
- بدلاً من
C:\Android\android-ndk-r10c
, ، إستعملت/cygdrive/c/Android/android-ndk-r10c
لمسار NDK.
وبالمثل، قمت بتغيير مسار مشروع NDK إلى /cygdrive/c/Android/project/src/main/jni
.
في حالتي كنت تستخدم CMake تحت سيغوين عندما حصلت على هذا الخطأ. وتبين نسخة من ويندوز CMake أعدم. وفي وقت لاحق، تم استخدام مسارات Windows في ملف جعل. أنا ركبت نسخة سيغوين من CMake من خلال برنامج الإعداد وحصلت على عمل.
وكان لي هذه المشكلة على لينكس عندما يتضمن الدليل بناء ":" الناجمة عن تنفيذ عمليات سحب الزئبقي الذي إنشاء دليل مسمى. "الخادم: ميناء"
واضطررت الى تغيير التالية في ملفي جعل لتكون متوافقة مع Make_381:
قبل:
ARDUINO_BASE_DIR = C: \ برامج / اردوينو
والآن:
ARDUINO_BASE_DIR = \\ برامج / اردوينو
وجرب هذا إذا كنت تقوم بتشغيل الكسوف C / C ++ والرجوع الملفات من سيغوين تحت ويندوز، تأكد ج: / سيغوين / بن أو ج: يأتي / cygwin64 / بن بعد ما تبذلونه من أدوات المترجم المفضلة في بيئة مسار ويندوز الخاص بك
وعلى سبيل المثال: مسار =؛ C: \ yagarto \ بن؛ C: \ yagarto الأدوات \ بن؛ C: \ cygwin64 \ بن؛
وبعد إجراء التغييرات والخروج الكسوف وإعادة لأنه نافذ المفعول (ببساطة إعادة تشغيل الكسوف من دون أن تخرج لن يحل المشكلة.
في مشروعي، وربما تلف الكائنات مجلد وكنت الحصول على هذا الخطأ. حذف الكائنات المجلد يدويا. ثم NDK والبناء اكتمل على ما يرام.