محاكي الايفون:"libpng.dylib، الملف ليس بالبنية المطلوبة"

StackOverflow https://stackoverflow.com/questions/1806469

  •  05-07-2019
  •  | 
  •  

سؤال

أحاول ربط مكتبة libpng بتطبيق iPhone الخاص بي، ويظهر لي هذا الخطأ:

ld: warning: in /opt/local/lib/libpng.dylib, file is not of required architecture

يحدث هذا عندما أقوم بالإنشاء لجهاز المحاكاة أو الجهاز.

ومع ذلك، عندما أقوم بإنشاء تطبيق وحدة تحكم، يمكنني الارتباط بـ libpng بشكل جيد.

ما الخطأ الذي افعله؟هل هناك libpng.dylib مختلف أحتاج إلى استخدامه لتطوير iPhone؟

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

المحلول

وكما يقول كريس لونج، يببنغ غير متوفر على اي فون. يمكنك ترجمة عليه في المشروع (إذا كان سيتم تجميع لARM)، وإلا فإنه لا workums. هنا هو الرصاص: HTTP: // www.cloudgoessocial.net/2009/06/09/imagemagick-on-iphone-with-jpeg-png/

وأيضا، للسجل، ويمكنك الكتابة خارج UIImage كما بابوا نيو غينيا أصلا باستخدام: UIImagePNGRepresentation(UIImage *image)

نصائح أخرى

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

هل النامية سنو ليوبارد؟ إذا كان الأمر كذلك ثم بعد ذلك المكتبة الافتراضية التي بنيت هي على الأرجح 64 بت. تتطلب محاكاة مكتبات 32 بت. يمكنك التحقق عن طريق تشغيل ملف ضدها:

file /opt/local/lib/libpng.dylib

إذا كنت لا ترى شيئا مثل:

(for architecture i386):    Mach-O dynamically linked shared library i386

وبعد ذلك سوف لن تكون قادرة على إعادة استخدامها. إعادة بناء المكتبة باعتبارها ليب I386 ثابت ويجب أن تكون قادرة على استخدامها في محاكاة. إذا كان هو autoconf أساس بناء هذا بلوق وظيفة يشرح كيفية القيام بناء ولها شيل التي يمكنك استخدامها.

هل هذا libpng.dylib الذي قمت بتنزيله من الإنترنت؟لا يُسمح لمطوري iPhone باستخدام المكتبات الديناميكية الخارجية.

لا أعرف ما إذا كان libpng متاحًا أم لا، ولكن إليك كيفية التحقق منه.

  1. انقر نقرًا مزدوجًا على اسم تطبيقك في قائمة الأهداف.
  2. انقر فوق زر Plus ضمن قائمة Frameworks وحاول العثور عليه.لا تنس أن الأسماء الصغيرة تظهر بعد "Z".

إذا لم يكن هناك، لا يمكنك استخدامه.حاول العثور على مكتبة ثابتة وتجميعها من المصدر.يجب أن يتم تجميعها خصيصًا لكل من بنية iPhone Simulator (Intel) وiPhone (ARM).

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