خطأ عند استيراد zlib في iOS:لم يتم العثور على الرمز (الرموز)دينار

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

  •  08-07-2019
  •  | 
  •  

سؤال

لقد ضمنت <zlib.h> في تطبيق iPhone الخاص بي والكود المصدري، كنت أسخر من نموذج التعليمات البرمجية لـ Molecules الذي قدمه براد لارسون، ومع ذلك، عندما أقوم بإنشاء المشروع، فإنه يُرجع الخطأ على النحو التالي.هل يمكن لأي شخص أن يوضح لي ما إذا كانت هذه مشكلة في الارتباط بالمكتبة أم أنني أفتقد شيئًا آخر؟

"_deflate", referenced from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o "_inflateEnd", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "inflateInit2", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "_inflate", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "_deflateEnd", 
referenced from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o "deflateInit2", referenced 
from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o ld: symbol(s) not found collect2: ld 
returned 1 exit status
هل كانت مفيدة؟

المحلول

في علامة التبويب Build Settings الهدف الخاص بك، انتقل لأسفل إلى قسم Other Linker Flags وتأكد -lz في هذا المجال. وهذا ربط ضد زليب في البناء، ويجب ان تذهب الخطأ بعيدا.

وبعد تغيير أعلام رابط يجب تحديد Clean من القائمة Product قبل بناء مرة أخرى.

نصائح أخرى

أضف libz إلى مشروعك.للقيام بذلك، اتبع الخطوات التالية في Xcode:

  1. افتح مشروعك، وحدد هدف مشروعك، ثم انقر فوق أيقونة معلومات المشروع الزرقاء على شريط الأدوات (أو اضغط على ⌘I)
    Example 1
  2. انقر فوق الزر + الموجود في الزاوية السفلية اليسرى من الشاشة لإضافة مكتبة، ثم قم بالتمرير لأسفل إلى أسفل قائمة المكتبات وحدد libz.dylib؛انقر فوق الزر "إضافة".
    Example 2
  3. بمجرد النقر فوق "إضافة"، سترى أن اسم المكتبة يظهر في قائمة المكتبات المرتبطة.ستتمكن الآن من بناء مشروعك دون ربط الأخطاء.
    Example 3

يمكنك استخدام نفس الطريقة لإضافة أي مكتبة من القائمة.إذا لم تظهر المكتبة في القائمة، فأنت تعلم أنها ليست جزءًا من iPhone SDK القياسي وقد تحتاج إلى إعادة التفكير في الحل الخاص بك أو إنشاء المكتبة بشكل ثابت بنفسك وربط هدفك بذلك (إن أمكن).

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