سؤال

أنا أكتب مكتبة اختبار الوحدة الخاصة بي (باستخدام AutoconF و Automake و Libtool) لتناسب احتياجاتي بشكل أفضل (لا أحتاج إلى كمية كبيرة من الميزات ، مجرد عداء واختبار). لقد وصلت إلى النقطة التي يبدو فيها أنها قابلة للاستخدام.

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

ماذا يجب أن تكون طريقتي لتثبيت هذا الرأس؟ (هناك حاجة إليها من قبل جميع الرؤوس الأخرى)

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

المحلول

ال AX_PREFIX_CONFIG_H يبدو الماكرو مثل ما تريد. يوفر طريقة لإنشاء ملف تشبه config.h آخر يحتوي على معلومات config.h. لذلك ، على سبيل المثال ، بدلاً من #define have_something في config.h ، ستحصل على #define mylib_have_something في mylib_config.h. مفيد جدا.

نصائح أخرى

يجب ألا تصدر config.h في واجهة مكتبتك على أي حال.

هذا الرابط يُظهر طريقة للتغلب على ذلك إذا كانت رؤوسك المثبتة حقًا ، فاحتاج حقًا إلى الاعتماد على النظام الأساسي. إنها طريقة هشة باستخدام ماكرو أوتوكونف عفا عليها الزمن.

يمكنك اختيار إخراج ملف تكوين مختلف عن طريق تغيير الماكرو AC_Output ، على الرغم من أنني لست متأكدًا من كيفية دمج المشروع مع المشاريع الأخرى. إذا كان مشروعًا فرعيًا ، فسيكون ذلك في دليل فرعي على أي حال.

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