libtool إضافة المزيد 'U' إلى .حتى أسماء الملفات
سؤال
لدي مشروع بناء مع autotools ، وتنقسم إلى قسمين مجلدات ؛ أول واحد ، ليب, يخلق بعض المكتبات ، والثاني واحد ، أدوات, الروابط ضدهم.
فشل البناء لأن libtool تسمية المكتبات على النحو التالي حين وإرتباط:
mylib.1.0.0 -> mylib.1.0.0U
بعد إعادة تسمية يحدث على أي حال, الاسم السابق لا يتم استعادة, ولا هو جديد mylib.1.0.0 التي تم إنشاؤها ، وبالتالي فإن وصلات رمزية مثل mylib لا تزال تشير إلى اسم دون اضافية U وربط فشل.
هل هناك أي طريقة لتجنب هذا ؟ أو ربما حتى إلى تجنب وإرتباط في كل شيء ؟ أنا باستخدام libtool النسخة 1.5.6.
المحلول
على ما يبدو حصلت عليه...
المشكلة هي استنساخه بسهولة مع البنية التالية:
- a ليب المجلد بناء:
- liba
- libb, اعتمادا على liba
- a src المجلد بناء prog, الذي يربط libb
ثم يجب عليك تحديد هذا في lib/Makefile.صباحا:
lib_LTLIBRARIES = \
libb.la \
liba.la
عند هذه النقطة liba.لذلك.1.0.0 U الملف سيتم إنتاجها.تحديد بدلا من ذلك (لاحظ أن ترتيب المكتبات تغيير)
lib_LTLIBRARIES = \
liba.la \
libb.la
بناء يعمل بشكل جيد.
أوافق على أن تحديد الأشياء في الترتيب الصحيح هو في أي حال أفضل شيء القيام به ؛ ما لا يزال غير واضح لي اذا كان هذا هو libtool علة أو لا...