অ্যাডমবগুলিতে অ্যাপ্লিকেশন রাখার পরে ত্রুটি "লাইব্রেরি পাওয়া যায় নি"


150

আমি আমার অ্যাপ্লিকেশনটি অ্যাডমবগুলিতে রাখার পরে আমি একটি ত্রুটি পাচ্ছি। অ্যাপটি আজ অবধি কাজ করছিল। ত্রুটিটি নিম্নলিখিত:

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

আমি এটা কিভাবে ঠিক করবো? ধন্যবাদ.


: এই চেষ্টা stackoverflow.com/questions/1471968/...
nmh


কখনও কখনও: আপনার ডিভাইসটি আনপ্লাগ করুন এবং প্রথমে প্রকল্পটি তৈরি করুন। এটি লাইব্রেরি তৈরি করবে এবং তারপরে আপনি ডিভাইসে চালাতে সক্ষম হবেন।
দি টাইগার

উত্তর:


114

কখনও কখনও আপনি কেবল লাইব্রেরির রেফারেন্সটি সরিয়ে আবার রেফারেন্স যুক্ত করেন।

স্ক্র্যাচ থেকে আবার গুগল মোবাইল বিজ্ঞাপন এসডিকে এবং অন্যান্য লাইব্রেরি যুক্ত করা ছাড়াও আমি আপনাকে লাইব্রেরি অনুসন্ধানের পথগুলি পরীক্ষা করার পরামর্শ দিচ্ছি । এমন কোনও উদাহরণ রয়েছে যখন আপনি কোনও লক্ষ্য অনুলিপি করে বা অনুলিপি করেন, এক্সকোড সিদ্ধান্ত নেয় যে এটি "'\' দিয়ে" কোনও ডাবল উদ্ধৃতি "রক্ষা করতে হবে sure নিশ্চিত করুন যে আপনি সমস্ত remove গুলি মুছে ফেলেছেন - এটি দেখতে দেখতে এমন হওয়া উচিত -

এখানে চিত্র বর্ণনা লিখুন

একাধিক '\' দিয়ে আমার পথের উপসীকরণ করে আমি ত্রুটিটির সদৃশ করতে সক্ষম হয়েছি।


ভাল, পোড ইনস্টল করার পরে, লাইব্রেরির একটি সেখানে তালিকাভুক্ত ছিল না। কেন জানি না তবে লাইব্রেরির পাথ যুক্ত করা এটি কার্যকর করে।
ওয়ারওয়লফ

আচ্ছা এটি আমার ইস্যুটি "লাইব্রেরি -আল্টের জন্য খুঁজে পাওয়া যায় নি" এবং এটি সত্যিই অবিশ্বাস্য! ধন্যবাদ !
জেডটাক্স

"শিরোনাম অনুসন্ধানের পথগুলি" বিবেচনা করুন।
লুয়াত ভু দিনহ

আপনি কীভাবে লাইব্রেরি অনুসন্ধানের পথগুলিতে অ্যাক্সেস করবেন?
ম্যাসিমো ফ্রিত্তেল্লি

1
@ মাসিমোফ্রিটেল্লি প্রকল্প> সেটিংস ট্যাবগুলি তৈরি করুন> অনুসন্ধানের পথগুলি। আপনি অনুসন্ধান বিকল্পেও টাইপ করতে পারেন।
রুরোড়া

315

আমার একটি অনুরূপ "লাইব্রেরি পাওয়া যায় নি" সমস্যা ছিল। তবে এটি ছিল কারণ আমি ঘটনাক্রমে .xcodeprojফাইলটির পরিবর্তে ফাইলটি ব্যবহার করছিলাম .xcworkspace


4
কেউ দয়া করে .xcodeproj এবং .xcworkspace এর উদ্দেশ্য ব্যাখ্যা করতে পারেন?
EFreak

11
এই জাতীয় জিনিসগুলি আমাকে জাভাস্ক্রিপ্ট বাস্তুতন্ত্রকে ভালবাসে
মার্ক

আমি কীভাবে তা বদলাতে পারি ..?
ব্রায়ান লোয়েজা

8
আপনি যখন কোকোপড ব্যবহার করেন তখন xcworkspace হয়। এটি এক্সকোড সমস্যা নয়, ব্যবহারকারীরা।
আজম

1
.xcworkspace হয় যখন আপনার সমাধানের মধ্যে 1 টিরও বেশি "প্রকল্প" থাকে। উদাহরণস্বরূপ আপনার বহিরাগত গ্রন্থাগার (কোকোপডস) বা আপনার নিজস্ব লাইব্রেরি থাকতে পারে যা আপনি অনেক প্রকল্পে ব্যবহার করেন।
ড্যানিয়েল বেনিডিক্ট

86

আপনার টার্গেট নির্বাচন করুন, এখানে যান "Build Phases"মধ্যে "Link Binary With Libraries"অপসারণ ".a"লাইব্রেরির ফাইল। পরিষ্কার এবং বিল্ড।


3
হ্যাঁ, যথেষ্ট আশ্চর্যজনক যে
এক্সকোড

সত্যিই সুন্দর!! আমার সমস্যাটি ছিল যখন আমি পুরানো প্রকল্পে ব্যবহারকারীর কাঠামো যুক্ত করেছি। কোরপ্লট.এ সরান এবং সূক্ষ্ম কাজ করে !!!!
জোস পোজ এস

66

নিম্নলিখিত হিসাবে কোকোপডস সম্পর্কিত ত্রুটি যদি:

library not found for -lPod-...

আপনাকে অন্যান্য লিঙ্কার ফ্ল্যাগগুলি পরীক্ষা করতে হবে এবং সেখান থেকে সরিয়ে ফেলতে হবে।

অতিরিক্ত তথ্য: আপনার যদি কোনও পুরানো প্রকল্প থাকে যা কোকোপড ব্যবহার করে। এবং সম্প্রতি আপনার ব্যবহার_ ফ্রেমওয়ার্কগুলি যুক্ত করার দরকার আছে! আপনার পোডফাইলে কোকোপডগুলি আপনার অন্যান্য লিঙ্কার ফ্ল্যাগগুলিতে গ্রন্থাগারগুলি যুক্ত করবে না এবং এর উত্তরাধিকারসূত্রে পরিণত করবে। অতএব, আপনার ব্যবহারের_ফ্রেমওয়ার্কগুলি ব্যবহারের আগে এগুলি যুক্ত করা অন্যান্য লিঙ্কার পতাকাগুলি থেকে ম্যানুয়ালি মুছে ফেলা দরকার হতে পারে!


1
আমার এখানে অনেক পতাকা রয়েছে, আমি কি পডের জন্য সমস্ত বা কেবল একটি সরিয়ে ফেলতে পারি?
ময়ূর দেশমুখ

যদি এই পতাকাগুলি কোনও সমস্যার কারণ হয়ে থাকে। আপনার সেগুলি সরিয়ে ফেলা বা তাদের রাখা উচিত এবং লাইব্রেরিটি যুক্ত করা উচিত যদি আপনি এখনও এটি ব্যবহার করতে চান।
হাসান

1
আমার ধারণা, যখন আপনি ম্যানুয়ালি কোকো পোড যুক্ত গ্রন্থাগারটি সরিয়ে দেওয়ার চেষ্টা করবেন তখনই এটি ঘটে। সঠিক উপায় হ'ল আপনার পডফিল থেকে পাঠাগারটি সরিয়ে ফেলা। তারপরে আপনি আবার পোড ইনস্টল চালান
হাসান

1
ধন্যবাদ !! এটি আমার জন্য একটি সূত্র ছিল :)। আমার ক্ষেত্রে, সদৃশ লক্ষ্যটি প্রতিটি -l "কাঠামো" কে দুটি লাইনে ভাগ করে দিয়েছে "-l" এবং "কাঠামো"!
ইভা মাদ্রাজো

1
@ ইয়ানস্টেফি কেবল এটির সংমিশ্রণ করুন
ইভা মাদ্রাজো

57

আমার ক্ষেত্রে এক্সকোড 7 , এক্সকোড ৯.১ এও কাজ করেছিল worked

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

সেট Build Active architecture OnlyকরাYes

এখানে চিত্র বর্ণনা লিখুন


2
অ্যাপ স্টোরের জন্য যখন আমাদের একটি প্রোডাকশন বিল্ড তৈরি করতে হবে তখন কী হবে? আমার অর্থ এটি উত্পাদন বিল্ডের জন্য কোনও হওয়া উচিত নয়।
জব্বার

উত্পাদনের জন্য এটি কোনও হওয়া উচিত না সম্মত হন
টেড

2
এই উত্পাদন উত্পাদন ইনস্টলেশন উপর কোন প্রভাব ফেলবে?
জব্বার

1
এক্সকোড 9.2 এবং আইওএস 11
আকাশ আগরওয়াল

21

আপনি যদি কোকোপড ব্যবহার করছেন, এটি ঘটে তবে .xcworkspaceডিফল্ট .xcodeprojফাইলের পরিবর্তে ফাইলটি ব্যবহার করুন।


15

যদি ত্রুটি নিম্নলিখিত মত হয়

ld: -পডগুলির জন্য লাইব্রেরি পাওয়া যায় নি

আমি দেখতে পেলাম যে একটি ফাইল "libPods.a" যা লাল বর্ণের (নিখোঁজ হওয়া ফাইলগুলির মতো) কোনওভাবে প্রকল্পের ফ্রেমওয়ার্ক গ্রুপে তৈরি হয়েছিল। আমি কেবল সেই ফাইলটি সরিয়ে দিয়েছি এবং সবকিছু ঠিক আছে।

সম্পাদনা: অন্য একটি সমাধান

আমি ইতিমধ্যে একই প্রশ্নের উত্তর দিয়েছি এমন আরও একটি সমাধান এই লিঙ্কটিতে


12

Goo বিল্ড পর্বগুলি -> গ্রন্থাগারগুলির সাথে বাইনারি লিঙ্ক করুন এবং পাঠাগারটি সরান যা ত্রুটিগুলি দেখায় কারণ লাইব্রেরিটি প্রকল্প ফোল্ডারে উপলব্ধ নয় available


এটি আমার বিশেষ সমস্যা সমাধান করেছে। আমার দুটি অনুরূপ নামযুক্ত গ্রন্থাগার ছিল, একটির নাম libPods-Foo BarTests.aএবং অন্যটির নাম libPods-FooBarTests.a
এডেনওয়াইথ

9

আপনি যদি ওয়ার্কস্পেসের পরিবর্তে প্রকল্প ফাইলটি খোলেন তবে এটিও ঘটতে পারে। আমি নিজের মতো করে দিনের মতো নষ্ট করে ফেলেছি।


1
দুর্দান্ত, আমি ওয়ার্কস্পেসটি বন্ধ করার সময়ও পড আপডেট করেছি এবং
বদর

5

উত্তরের জন্য দেরী হলেও এখানে আমি চেষ্টা করেছি এমন জিনিসগুলির তালিকা এখানে রয়েছে anyone সুতরাং কেউ যদি সমস্যাটি সমাধানের চেষ্টা করতে চান তবে এটি এক জায়গায় থাকবে।

  1. বৈধ আর্কিটেকচার = আর্মভি 7 আর্মভি 7
  2. কেবল অ্যাক্টিভ আর্কিটেকচার তৈরি করুন = কোনও নয়
  3. লক্ষ্য -> বিল্ড সেটিংস -> অন্যান্য লিঙ্কার পতাকা = $ (উত্তরাধিকারসূত্রে)
  4. লক্ষ্য -> বিল্ড সেটিংস -> লাইব্রেরি অনুসন্ধানের পথ = $ (উত্তরাধিকারসূত্রে)
  5. পণ্য পরিষ্কার
  6. টার্মিনালে পড আপডেট

2

আমার ক্ষেত্রে নামকরণের সমস্যা ছিল। আমার লাইব্রেরী বলা হত ios-admob-mm-adapter.a, কিন্তু Xcode প্রত্যাশিত, যে নাম প্রেফিক্স সহ শুরু করা উচিত liberal এর সংক্ষিপ্ত রূপ । আমি সবেমাত্র আমার lib এর নাম পরিবর্তন করেছিlibios-admob-mm-adapter.a এবং সমস্যাটি স্থির ।

আমি কোকোপড ব্যবহার করি এবং এটি আমার টার্গেটের বিল্ডিং সেটিংসে অন্যান্য লিঙ্কার পতাকা বিকল্পের সাথে লাইব্রেরিগুলিকে লিঙ্ক করে । পতাকাটি দেখে মনে হচ্ছে-l"ios-admob-mm-adapter"

আশা করি এটি অন্য কাউকে সাহায্য করবে


2

সহজভাবে, GoogleAdMobAds.aপ্রকল্পের লক্ষ্য হারিয়ে যাচ্ছে। আমার জন্য এটি libAdIdAccessLibrary.aসংযুক্ত স্ক্রিনশট চেক করুন

এখানে চিত্র বর্ণনা লিখুন


2

আমার হিসাবে এই সমস্যাটি ঘটে কারণ আমি আইওএসের জন্য মেটেরিয়াল লাইব্রেরি ইনস্টল করেছি। এই সমস্যাটি সমাধান করার জন্য

1: আপনার লক্ষ্য অ্যাপ্লিকেশনটির সেটিংস তৈরি করতে যান ।

2: অন্যান্য লিঙ্কার পতাকা সন্ধান করুন

3: অন্যান্য লিঙ্কার পতাকাগুলি খুলুন এবং ত্রুটিতে উল্লেখ করা লাইব্রেরিটি পরীক্ষা করুন।

4: পতাকাটি সরান।

5: পরিষ্কার এবং বিল্ড।

আমি আশা করি এটি আপনার সমস্যার সমাধান করেছে।


2

ld: library not found for -{LIBRARY_NAME}ঘটনার ক্ষেত্রে কারণ লাইব্রেরি ফাইল (গুলি) বিদ্যমান নেই।

আপনার অ্যাপ্লিকেশন টার্গেটের "" পর্যায়গুলি তৈরি করুন "লাইব্রেরি অনুসন্ধান পাথ ট্যাবগুলিতে লাইব্রেরির পাথটি পরীক্ষা করুন।

লাইব্রেরি ফাইল (গুলি) এর পাথ অবশ্যই প্রকৃত পাথ অনুসারে হওয়া উচিত উদাহরণস্বরূপ যদি আপনার ফাইল (গুলি) প্রকল্পের মূলের মধ্যে থাকে তবে আপনাকে অবশ্যই এই পথটি সেট করতে হবে $(PROJECT_DIR)


1

আমি জানি এটি কিছুটা পুরানো, তবে আমি কেবল একটি অনুরূপ সমস্যা পেয়েছি এবং 'পড আপডেট' চালানো আমার জন্য এটি স্থির করেছে fixed আমার গ্রন্থাগারের ত্রুটিটি এএফ নেটওয়ার্কিংয়ের সাথে ছিল ...

আপনি যদি নিজের পড ফাইলে সুস্পষ্ট সংস্করণ ব্যবহার না করেন তবে পড আপডেট করার ক্ষেত্রে কেবল সতর্কতা অবলম্বন করুন।


1

এই ত্রুটিটি খুব অদ্ভুত।

আমার -ldAfnetworking এর সাথে এই ত্রুটি ছিল এবং আমি কেবল আমার প্রকল্পটি অন্য পথে এবং কাজগুলিতে অনুলিপি করি।


1

আমি কি আমার build কনফিগারেশন পুনঃনামকরনের চেষ্টা Releaseকরতে Production, কিন্তু দৃশ্যত কোকো pods এটা পছন্দ করেন না। আমি এর আবার নামকরণ করেছি Releaseএবং সবকিছু ঠিকঠাক তৈরি করে।


আপনি পডফাইলে লক্ষ্যটির নাম পরিবর্তন করতে পারেন।
রোমেন টেলল্যান্ডার

1

@ রাউরোর উত্তর আমাকে সঠিক দিকে নির্দেশ করেছে। আমি আমার "ওয়াচকিটাপ এক্সটেনশন / লাইব" পথে লাইব্রেরিগুলি অন্তর্ভুক্ত ছিলাম। এই ক্ষেত্রে, লাইব্রেরি অনুসন্ধানের পথটি একটি '\' দিয়ে পালাতে হবে, তবে লিঙ্কার এটি বুঝতে পারে বলে মনে হয় নি। ইস্যুটি ঠিক করতে / কাজ করার জন্য, আমি আমার লাইব পাথকে এক স্তর উপরে নিয়ে গিয়েছি যাতে এটি আর কোনও ডিরেক্টরিতে থাকে না যেখানে নামের মধ্যে একটি স্থান থাকে।


1

আমি কেবল পড ফাইল 'পড আপডেট' আপডেট করি এবং এটি আমার জন্য সাধারণত কাজ শুরু করে।


1

আমার প্রকল্পে 'পড আপডেট' চালানো আমার জন্য 'LSTPopup এর জন্য লাইব্রেরি খুঁজে পাওয়া যায়নি' ত্রুটিটি সমাধান করেছে।

ট্রেভর পানহার্স্টের উত্তরটি উল্লেখ করে:

"আপনি যদি নিজের পোড ফাইলে সুস্পষ্ট সংস্করণ ব্যবহার না করেন তবে পড আপডেট করার বিষয়ে সতর্ক থাকুন" "


1

সহজ সমাধান। আমি কীভাবে সমস্যাটি সমাধান করব:

  1. ডিরেক্টরিতে যান platforms/ios
  2. তারপরে, কমান্ডটি কার্যকর করুন pod install

এটাই. এটি অনুপস্থিত লাইব্রেরি ইনস্টল করা উচিত।


1
  1. বিল্ড ফোল্ডার সাফ করা হয়েছে
  2. এক্সকোড পুনরায় চালু হয়েছে

চলে গেছে...


1

এটি Static Libraryযে কারণে ঘটে তা সংকলনের সময় ত্রুটিStatic Linker

ld: library not found for -l<Library_name>
  1. আপনি Library not found forযখন কোনও লাইব্রেরির পাথ অন্তর্ভুক্ত না করেন আপনি ত্রুটি পেতে পারেনLibrary Search Paths

    ldStatic Linkerযার অর্থ গ্রন্থাগারের কোনও অবস্থান খুঁজে পাওয়া যায় না। বিকাশকারী হিসাবে আপনার লিঙ্কারটিকে সহায়তা করা উচিত এবং এটি নির্দেশ করুনLibrary Search Paths

    Build Settings -> Search Paths -> Library Search Paths 
  2. এছাড়াও আপনি এই ত্রুটিটি পেতে পারেন যদি আপনি প্রথমবার .xcodeprojকোকোপডস সমর্থন দিয়ে একটি নতুন প্রকল্প ( ) খুলেন, চালান pod update। এটিকে ঠিক করতে কেবল এই প্রকল্পটি বন্ধ করুন এবং এর পরিবর্তে একটি ওয়ার্কস্পেস তৈরি করুন ( .xcworkspace)


0

আমি লাইব্রেরিতে অনুরূপ বাগ পেয়ে যাচ্ছিলাম না। শেষ পর্যন্ত আমি এটি সমাধান করতে সক্ষম হয়েছি

  1. এক্সকোড সংরক্ষণাগার দিয়ে শুরু করার আগে, ব্যবহৃত বিড়বিড় করে বিল্ড আইওএস করুন
  2. আইওএস মোতায়েনের লক্ষ্যটিকে একটি উচ্চতর লক্ষ্য আইওএস 11.2 এ পরিবর্তন করেছে ged এর আগে আমার 8.0 এর মতো কিছু ছিল যা উপরের সমস্ত ত্রুটি দিচ্ছিল।
  3. নিশ্চিত করে নিন যে এক্সকোডে আইওএস মোতায়েনের লক্ষ্যগুলি প্রকল্প, লক্ষ্য এবং পডগুলিতে একই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.