ios - এক্সকোড-ld: লাইব্রেরি-lPods জন্য পাওয়া যায় নি



objective-c xcode (15)

LPods সম্পর্কিত এই সমস্যা নীচের ধাপ অনুসরণ করে সংশোধন করা যেতে পারে

  • আপনার প্রকল্প লক্ষ্য নির্বাচন করুন।
  • "Build Phases" "Link Binary With Libraries" "Build Phases" এ যান।
  • এখন সেই লাইব্রেরির ".a" ফাইলটি সরান যা সমস্যা তৈরি করছে।
  • পরিষ্কার এবং বিল্ড।

এই কাজ করবে।

https://code.i-harness.com

আমি একটি iOS অ্যাপ্লিকেশন নির্মাণ করার চেষ্টা করার সময় আমি এই ত্রুটি পেতে।

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

বিল্ড সেটিংস মধ্যে PODS রুট:

${SRCROOT}/Pods

আমি এই এক্সকোড প্রজেক্টটি তৈরি করিনি - এটি চেক করার জন্য এটি গিট থেকে টেনে আনলাম।


আপনার প্রোজেক্টে আপনার একাধিক লক্ষ্য থাকলে, কোকোপডগুলি কেবলমাত্র তাদের মধ্যে কেবলমাত্র একটিকেই সংহত করে।

আমার প্রতিটি অতিরিক্ত লক্ষ্যের জন্য আমাকে "লিঙ্ক বাইনারি উইথ লাইব্রেরি" এ libPods.a থেকে ম্যানুয়ালি লিঙ্ক করতে হয়েছিল।


আমার জন্য এই কাজ করা হয়। আমি কিছু অ্যাপ্লিকেশন থেকে অন্য অ্যাপ্লিকেশন থেকে আমার অ্যাপ্লিকেশন নাম পরিবর্তন করেছি। এবং আমি একাধিক তৃতীয় পক্ষের পরিষেবা ইন্টিগ্রেশন জন্য কোকো পড ব্যবহার করছি। সুতরাং যে 2 libPod ফাইল যোগ করা হয়েছে (আমি নাম পরিবর্তন এবং অ্যাপ্লিকেশন লক্ষ্য করেছি)। অবশেষে আমি একটি libPod অপসারণ করতে হয়েছে। এবং এটা কাজ করে.

লক্ষ্য-> পর্যায়গুলি তৈরি করুন-> লাইব্রেরিগুলির সাথে লিঙ্ক বাইনারি


আমার জন্য, নিম্নলিখিত কাজ করেছে।

  1. "প্রকল্প লক্ষ্য -> সেটিংস তৈরি করুন -> প্রপ্রোকাসিং -> প্রিপপ্রক্সেস ম্যাক্রোস" -এ যান। সমস্ত ডিবাগ, ইন্টিগ্রেশন, "প্রপ্রোচেসার ম্যাক্রোস" এর অধীনে প্রকাশ করা "COCOAPODS = 1" সেট করুন
  2. "প্রকল্প টার্গেটে" "অন্যান্য লিঙ্কার পতাকা" -এ নীচের যোগ করুন
    1. $ উত্তরাধিকারসূত্রে
    2. -ObjC
    3. -lc ++,
    4. -all_load

পরিষ্কার এবং প্রকল্প চালানো। যদি এখনও ত্রুটিটি একই রকম থাকে তবে "প্রকল্প লক্ষ্য -> সেটিংস তৈরি করুন -> শুধুমাত্র সক্রিয় আর্কিটেকচারগুলি তৈরি করুন" সেট করে দেখুন, "ডিবাগ" সেট করুন "হ্যাঁ" এ সেট করুন এবং "ইন্টিগ্রেশন এবং রিলিজ" এ "না" সেট করুন। তারপরে সকল "পড লক্ষ্যমাত্রা" এর জন্য "শুধুমাত্র সক্রিয় আর্কিটেকচারগুলি তৈরি করুন" এর একই সেটিংটি পুনরাবৃত্তি করুন।

পরিষ্কার এবং প্রকল্প চালানো। আপনি নিম্নলিখিত ত্রুটি পাবেন

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

তারপর জনাব মাইক উত্তর এই লিঙ্কটি চেষ্টা করুন

এক্সকোড 5.1 - কোন আর্কিটেকচারের জন্য কম্পাইল করতে হবে (ONLY_ACTIVE_ARCH = হ্যাঁ, সক্রিয় খিলান = x86_64, VALID_ARCHS = i386)

আশা করি এটা সাহায্য করবে!


আমার পদক্ষেপ:

  1. Pods ফোল্ডার এবং 'Pods' ফাইল মুছে দিন।
  2. টার্মিনাল মধ্যে "পড ইনস্টল" টাইপ করুন।
  3. টার্মিনালে "পড আপডেট" টাইপ করুন।

পূর্বনির্ধারিত উত্তরগুলি যেমন "পূর্বনির্ধারিত আর্কিটেকচার তৈরি করুন" নিশ্চিত করার পাশাপাশি পূর্বের উত্তরে উল্লেখ করা হয়েছে YES তে সেট করা হয়েছে, এটি আমার জন্য এটি করেছিল।


আমার সমস্যা নিম্নলিখিত কনফিগারেশন দ্বারা সংশোধন করা হয়েছে:

Build Active Architecture Only: YES

আমি একই সমস্যা ছিল

কমান্ড লাইন পড ইনস্টল এবং পড আপডেট আমার সমস্যা সমাধান


উপরোক্ত উত্তরগুলির মধ্যে কেউ আমার জন্য এটি সংশোধন করে নি।

আমি পরিবর্তে কি target অধ্যায় বাইরে একটি pod কমান্ড সঙ্গে pod install ছিল। সুতরাং উদাহরণস্বরূপ:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

আমি দ্রুত এটি সংশোধন করেছিলাম এবং ত্রুটিযুক্ত পডটি target বিভাগে ফিরে এসেছি যেখানে এটি ছিল এবং pod install আবার চালানো হয়েছে:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

কিন্তু এর মধ্যে কি ঘটেছিল তা হল lib- -libPods.a আমার লিঙ্কযুক্ত লাইব্রেরিগুলিতে যোগ করা হয়েছে, যা এখন আর বিদ্যমান নেই এবং সেখানে ইতিমধ্যেই -libPods-My Target.a আছে না।

তাই সমাধানটি আমার লক্ষ্যমাত্রার সাধারণ সেটিংসে যেতে এবং -libPods.a থাকা ফ্রেমওয়ার্ক এবং লাইব্রেরিগুলিতে যান এবং শুধুমাত্র তালিকা থেকে -libPods.a মুছে দিন।


গবেষণা ঘন্টা পর এই সমাধান আমার জন্য কাজ করেছে:

(দাবিত্যাগ: পরিস্থিতির কারণে পরিবর্তিত হতে পারে)

Library not found -lPods-(someCocoapod) ত্রুটির মধ্যে একাধিক এন্ট্রি কারণে ছিল:

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

অনেকগুলি পোস্ট আমি সেখানে দেখি এবং আমি যখন এন্ট্রিগুলির সাথে ঘুরতে থাকি তখন ত্রুটির পরিবর্তন দেখতে পাই, কিন্তু একই ত্রুটিতে কিছু পরিবর্তন পেয়েছি।

অনেক ঘন্টা হারিয়ে গেছে ...

আমার ফিক্স:

'অন্যান্য লিঙ্কার পতাকা' তালিকাতে -lPods- (কিছু কোকোপোড) লাইনগুলি সরান তবে শুধুমাত্র $ (উত্তরাধিকারী) শীর্ষে থাকলে কেবলমাত্র। প্রথম দিকে আমি অনিশ্চিত ছিলাম, কিন্তু আশ্বস্ত চিহ্নটি ছিল যে আমি যখন আমার সম্পাদনা কোডটি (উত্তরাধিকারী) রেখেছিলাম তখনও আমি আমার কোকোপডগুলির রেফারেন্স দেখেছি। আমি ডিবাগ এবং মুক্তিতে পরীক্ষিত, যা উভয় আমাকে ত্রুটি প্রদান করে, এবং সমস্যাটি অবিলম্বে সমাধান করা হয়।


নিচের সমাধানটি কোর-প্লট 2.3 সংস্করণের জন্য আমার জন্য কাজ করেছে। অন্যান্য লিঙ্কার পতাকা বিভাগের অধীনে নীচের পরিবর্তন করুন।

1. $ যোগ করুন (উত্তরাধিকারী) এবং এই আইটেমটিকে উপরের অবস্থানে টেনে আনুন। "Pods-" উপসর্গটি -l "Pods-fmemopen", l "Pods-NSAttributedStringMarkdownParser" এবং -l "Pods-MagicalRecord" থেকে উপসর্গটি সরান।

যদি এখনও সমস্যা থাকে তবে অবশেষে দেখুন যে PODS_ROOT সেট করা আছে কি না। আপনি ব্যবহারকারী সংজ্ঞায়িত বিভাগের অধীনে এটি পরীক্ষা করতে পারেন।


পাশাপাশি এই সমস্যা ছিল। আমার CocoaPods ইনস্টলেশন সঙ্গে কিছু ভুল ছিল। কেআইএফ ছাড়া অন্য কোন পড সঠিকভাবে ইনস্টল করা হয়। আমি সাহায্য করার জন্য এই থ্রেড মন্তব্য মন্তব্য।

মূলত, আমি নিশ্চিত ছিল যে Build Active Architectures Only আমার প্রোজেক্ট এবং পডগুলির প্রকল্প উভয়ের জন্য সেটিংস সমান।


মনে হচ্ছে প্রকল্প cocoapods ব্যবহার cocoapods । এবং যে ফাইল আপনার প্রকল্পের থেকে অনুপস্থিত।

আপনি শুধু git থেকে এটি ডাউনলোড করতে পারবেন না। আপনি cocoapods থেকে এটি ইনস্টল করতে হবে।

আরও সহায়তার জন্য, আপনি CocoaPods টিউটোরিয়ালের ভূমিকা অনুসরণ করতে পারেন

যদি প্রকল্প CocoaPods ব্যবহার করে তবে সর্বদা .xcworkspace ফাইলের পরিবর্তে .xcworkspace ফাইল খুলতে সচেতন থাকুন।


যদি প্রকল্প CocoaPods ব্যবহার করে তবে সর্বদা .xcodeproj ফাইলের পরিবর্তে .xcworkspace ফাইলটি খুলতে সচেতন থাকুন। আপনি যদি .xcworkspace ব্যবহার করেন, তবে পডগুলি সরানোর মাধ্যমে পড ফাইলটি পুনরায় ইনস্টল করুন এবং আবার পড ঢোকান এবং এটি ইনস্টল করুন !!! এই আমার জন্য কাজ


যদি প্রকল্প CocoaPods ব্যবহার করে তবে সর্বদা .xcworkspace ফাইলের পরিবর্তে .xcworkspace ফাইলটি খুলতে সচেতন থাকুন।


কোকোপোড ব্যবহার করে আমার এক্সকোড প্রকল্পে ফায়ারबेस সংহত করার চেষ্টা করার সময় এটি আমার সমস্যা ছিল

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

অনুসন্ধানের কয়েক ঘন্টা পর এবং স্ট্যাকওভারফ্লোতে তালিকাবদ্ধ বিভিন্ন ফিক্সগুলি চেষ্টা করার পরে, আমার সমস্যা অবশেষে নিচের পদক্ষেপগুলি স্থির করা হয়েছিল

  1. Build Settings যান, Other Linker Flags জন্য অনুসন্ধান করুন, সমস্ত মানগুলি প্রত্যাহার করুন $(inherited)

সব লক্ষ্য জন্য এই কাজ।

  1. Pods ফোল্ডার মুছে দিন। ( ios/Pods )
  2. pod update

ভাল খবর! সমস্ত লিঙ্কার ত্রুটি চলে যাবে।





cocoapods