سؤال

أقوم بنقل بعض عناصر Visual Studio 2008/VC9 إلى Code::Blocks/MinGW ولسبب ما لا يمكن للرابط العثور على مكتبة ثابتة من مشروع آخر في مساحة العمل.

في Visual Studio 2008، كان بإمكاني فقط تعيين مشروع lib الثابت باعتباره تبعية، وسيتم إنشاؤه بالترتيب الصحيح (أي:يجب إنشاء static lib قبل ربط المشروع الآخر)، وربط المكتبة الصحيحة للتكوين.

لم أتمكن من العثور على مثل هذا الخيار في Code::Blocks، لذلك تأكدت من إنشاء lib الثابت بشكل صريح أولاً (libcommon.a) ثم ضمن "خيارات البناء" للمشروع الآخر أضف "libcommon.a" في "رابط" إعدادات".يوجد الملف .a في نفس الدليل الذي توجد به ملفات المشروع، ومع ذلك ما زلت أتلقى خطأ من رابط المشاريع الأخرى يفيد بأنه لا يمكنهم العثور عليه...

لا يمكن لـ ld.exe العثور على -lcommon

ما الذي أفعله حتى لا يتمكن من العثور على المكتبة، على الرغم من أنها بجوار ملف المشاريع مباشرة؟

هل هناك أيضًا طريقة أفضل لمحاكاة تبعيات Visual Studio ضمن حل/مساحة عمل واحدة؟

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

المحلول

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

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