كيفية الارتباط بمكتبة ثابتة في ج؟
-
19-09-2019 - |
سؤال
يمكنني استخدام الكود :: كتل لتجميع مكتبة ثابتة. نتيجة الإخراج هي ملف libstatic.a. الآن، كيف يمكنني ربط مكتبتي لاستخدام الوظائف التي تم تجميعها؟
(حاولت استخدام #include "libstatic.a" ولكن مشروعي لا يترجم)
المحلول
cc -o yourprog yourprog.c -lstatic
أو
cc -o yourprog yourprog.c libstatic.a
نصائح أخرى
يجب #include "libstatic.h"
, ، أي استخدام ملف الرأس المناسب في التعليمات البرمجية الخاصة بك (هذا لماذا لا يتجمع الكود الخاص بك) ويشمل المسار الخاص بك libstatic.a
في خيارات الرابط كأحد مكتبات الإدخال الخاصة بك.
هذه صفحة ويب لديه بعض الأمثلة على الارتباط بمكتبة ثابتة، على سبيل المثال
gcc -I. -o jvct jvct.c libjvc.a
اضطررت إلى ضبط مسار المكتبة في My Makefile. بالنسبة لهذه الحالة، يمكنك استخدامها:
gcc -o myapp main.c -L. -lstatic
gcc -I. -o jvct jvct.c libjvc.a
لربط بحتة ثابتة، واستخدام -static
cc -static yourprogram.c libstatic.a
لا تنتمي إلى StackOverflow