سؤال

أنا أبحث عن أداة يمكنها إنشاء ملف تعريفي لمشروع C/C++ لمترجمين مختلفين (gcc وmicrosoft vc++ وborland وغيرها) ومنصات مختلفة (Win وLinux وMac).

هل كانت مفيدة؟

المحلول

اقتراحات أخرى قد ترغب في النظر فيها:

  • السكونز هي مكتبة بناء متعددة المنصات ومتعددة المترجمات، وتستخدم لغة البرمجة Python لأنظمة البناء.يستخدم في مجموعة متنوعة من المشاريع الكبيرة، ويعمل بشكل جيد للغاية.

  • إذا كنت تستخدم كيو تي، QMake هو نظام بناء جميل أيضًا.

  • CMake هو أيضا حلو جدا.

  • أخيراً، إذا فشل كل شيء آخر...

نصائح أخرى

هل جربت مولد Makefile التلقائي?

وهو يدعم المترجمين التاليين:

Borland 3.1 
Borland 5.0 
Borland 5.0, 16 bit 
Borland 5.5 
Borland 5.6 
Borland 5.8 
CC 
Gnu g++ 
Gnu g++, dynamic library 
Intel 5, 6, 7 for Linux 
Intel 5, 6, 7 for Linux, dynamic library 
Intel 5, 6, 7 for windows 
Intel 8,9,10 for Linux 
Intel 8,9,10 for Linux, dynamic library 
Intel 8,9 for windows 
Intel 10 for windows 
Visual C++ 5 
Visual C++ 6, 7, 7.1 
Visual C++ 8 
Open Watcom 
Watcom 10A 
Watcom 10A, 16 bit 

لقد استخدمت ملف الخبز من قبل مع بعض النجاح.إنها بسيطة إلى حد ما ويبدو أنها تعمل بشكل جيد.

CMake هي الأداة الوحيدة التي يمكنها بالفعل إنشاء مشاريع Visual Studio حقيقية (أي مشاريع Visual Studio).ليست "Makefile" - المشاريع التي تستدعي أداة خارجية)، والتي تقوم بإعادة إنشاء المشاريع تلقائيًا عند تغيير ملف إدخال البناء (CMakeLists.txt).

تعتبر مشكلات أداء أعضاء SC معروفة جيدًا وهي موضوع تمت مناقشته بشكل شامل في القوائم البريدية لـ SCons.

سأصوت ل OMake.إنه يعمل على إصلاح جميع الشكاوى التي كانت لدي مع GNU:

  • إنها لغة كاملة.
  • يستخدم MD5 بدلاً من الطوابع الزمنية.
  • يوفر الحد الأدنى من الصدفة التي تنفذ أوامر يونكس الأكثر فائدة على جميع الأنظمة الأساسية:العثور على، سيد، awk، الخ ...
  • يعمل مع أسماء مسارات نمط يونكس أو دوس.
  • موثقة على نطاق واسع.
  • يدعم بنيات متوازية.
  • سريع.

إن الإنشاء التلقائي لملفات (M|m)ake يجعلني أشعر بالقلق بشأن ما تحاول القيام به هنا.

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

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

إذا لم تقم بذلك، ويبدو أن نظامك يعمل، فستكون، لاستخدام مصطلح المبرمجين العمليين، "البرمجة عن طريق الصدفة". (-:

راجع للشغل مقالات عظيمة متوفرة في موقعهم!وأنا لست متورطا معهم.YMMV.يادا يادا...

سأعمل أيضًا على CMake الثاني.لقد استخدمته لفترة طويلة في مشروع متعدد المنصات وأنا راضٍ جدًا عنه.

إحدى المشكلات التي يجب مراعاتها هي هل تريد منشئ "makefile" أم نظام إنشاء بديل؟المشكلة في أنظمة البناء البديلة هي أنك عادةً لا تحصل على تكامل IDE جيد للأنظمة الأساسية التي يتوقع مستخدموها ذلك (Visual C++).إذا كنت تريد إنشاء ملف makefile بدلاً من نظام بناء بديل، فقم بإلقاء نظرة على لجنة السياسة النقدية.إنه مجاني ومفتوح المصدر.

الإضافة الأخيرة إلى قائمة عمليات الاستبدال هي waf.من التجربة الشخصية، تقوم CONS بالمهمة بشكل جيد.

لا أعرف إذا كان لديك اهتمام بهذا السؤال بعد الآن.أنا أعمل على إسقاط مماثل لمولد تلقائي Makefile يسمى كود ميت, ، تم تطويره باستخدام روبي.ربما لا يكون الأمر ناضجًا للتطبيقات الكبيرة في الوقت الحالي، لكنني سأواصل العمل عليه لجعله أفضل.لا ينبغي أن يحتاج المستخدمون إلى تعديل أي ملف تكوين لإنشاء البرنامج، أو على الأقل من المفترض أن يكون كذلك.وينبغي التقليل من منحنى التعلم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top