سؤال

أحاول توزيع تبعيات تطبيقي مع التطبيق.

لقد حصلت على Macports Packages Librsvg و Boost و Cairo تثبيت 64 بت على نظام Leopard Snow Leopard الخاص بي. عندما أقوم بإنشاء حزمة .app من برنامجي ، فإنه لا يعمل على الآلات بدون macports والمكتبات ذات الصلة المثبتة لأنها غير مدرجة في التطبيق ، والتي تبحث عن المكتبات في /OPT.

لقد جربت العلم الثابت للربط الثابت ، لكن ذلك تسبب في أخطاء libcrt0.

ما هي أفضل طريقة لربط مكتبات MacPorts وتبعياتها بتطبيق OSX مناسب للتوزيع الوحيد؟

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

المحلول

ستحتاج إلى نسخ المكتبات في حزمة التطبيق الخاصة بك ، باستخدام أ نسخ ملفات بناء المرحلة. يجب وضع Dylibs في Frameworks دليل في حزمة التطبيق. سيكون عليك أيضًا إضافة المكتبات إلى مشروع XCode الخاص بك.

نصائح أخرى

جرب استخدام PY2APP لإنشاء تطبيق مستقل.

اضطررت إلى القيام بذلك فقط لـ JSONCPP. ما فعلته هو أنني ذهبت إلى إعدادات Linker ضمن مراحل Building> Build Link Binary مع المكتبات ، ثم استخدمت إضافة أخرى للذهاب إلى مسار مكتبتي وإضافة المكتبة من المجلد الذي سيكون تحت OPT/LOCAL/LIB في الافتراضي إعداد Macportlinker settings

كان الحصول على ملفات الرأس أكثر تعقيدًا قليلاً. في هذه الحالة ، انتهى بي الأمر إلى الذهاب إلى USR/تضمين العثور على الملف/المجلد مع الرؤوس ، ونسخه إلى مشروعي وفي ملف CPP أضفت خط تضمين مع علامات الاقتباس ("")

على سبيل المثال ، تم نقل/usr/include/json directory في مجلد مشروع RestTemplate باستخدام نسخة. ثم أضيفت إلى main.cpp

#include "json/json.h"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top