লক্ষ্য… od পডস / পডস.এক্সকনফিগে সংজ্ঞায়িত `OTHER_LDFLAGS` বিল্ড সেটিংটিকে ওভাররাইড করে


237

আমি SpatialIiteএকটি এক্সকোড প্রকল্পে অন্তর্ভুক্ত করেছি যা Proj.4কেবলমাত্র একটি শিরোলেখের একটি শিরোনাম ফাইল ব্যবহার করে । উভয়ই এক্সকোড প্রকল্প এবং স্থির লক্ষ্য রয়েছে।

আমি গিট সাবমডিউল থেকে কোকোপডসে স্থানান্তরিত করার চেষ্টা করছি। যেহেতু স্থির লক্ষ্যগুলি কোকোপডগুলির সাথে ব্যবহার করা কঠিন বলে মনে হচ্ছে, আমি কেবল প্রজেক্টটি স্বাভাবিক উপায়ে তৈরি করতে চাই। আমি পডস্পেক তৈরি করেছিলাম Proj.4। পডফাইলে লেখার পরে SpatialLiteআমি সতর্কতা পেয়েছি:

[!] The target `SpatialiteIOS [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The target `SpatialiteIOS [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The target `SpatialiteIOS [Debug - Release]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The target `SpatialiteIOS [Debug - Release]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

আমি এই সমস্যাটি পড়েছি তবে আমি সতর্কবাণীগুলির অর্থ কী এবং এটিকে সংশোধন করার জন্য আমি কী করতে পারি তা সম্পর্কে আমি খুব ক্লাসহীন।

অতিরিক্ত সমস্যা, যখন আমি ওয়ার্কস্পেসটি খোলার পাশাপাশি স্পাটিআইলাইট প্রকল্পটি একা খোলার সময় উভয়ই ম্যাক ওএসএক্স 64৪ টার দিকে লক্ষ্যবস্তু হয়, যখন এটি কোনও আইওএস প্রকল্প বলে মনে করা হয়। আমার পডফাইলে "প্ল্যাটফর্ম: আইওএস" বলে।


2020 - যে কেউ এই বিরক্তিকর সমস্যার সাথে লড়াই করছেন for এটি সত্যই কেবল (আশ্চর্য! :)) ফেসবুকের কারণে ঘটে। এখানে যেমন ব্যাখ্যা করা হয়েছে, ফায়ারবেস.google.com/docs/auth/ios/firebaseui "আপনি যদি পছন্দ করেন তবে আপনি কেবলমাত্র অথ উপাদান এবং যে সরবরাহকারীদের আপনি ব্যবহার করতে চান তা যুক্ত করতে পারেন ..." একবার আপনি ফেসবুক বিকল্পটি সরিয়ে ফেললে কোনও সমস্যা নেই there's । : /
ফ্যাটি

উত্তর:


543

এটি অবশ্যই বেশিরভাগ সময় কাজ করে:

আপনার টার্গেট বিল্ড সেটিংসে যান -> অন্যান্য লিঙ্কার পতাকা -> ডাবল ক্লিক করুন। যোগ $(inherited)একটি নতুন লাইন।

যদি আপনার "... টার্গেটটি GCC_PREPROCESSOR_DEFINITIONS বিল্ড সেটিংটি সংজ্ঞায়িত করা আছে ..." র ওভাররাইড করে তবে অবশ্যই আপনার টার্গেট বিল্ড সেটিংস -> প্রিপ্রসেসর ম্যাক্রোগুলিতে আপনাকে অবশ্যই inher (উত্তরাধিকারসূত্রে) যুক্ত করতে হবে


29
আমি এই উত্তর প্রসারিত হবে। যদি আপনার "... টার্গেটটি GCC_PREPROCESSOR_DEFINITIONSনির্ধারিত বিল্ড সেটিংসকে ওভাররাইড করে ..." এর সাথে সমস্যা হয় তবে আপনাকে অবশ্যই আপনার টার্গেটে বিল্ড সেটিংস -> প্রিপ্রসেসর ম্যাক্রোস
লিবার জাপলেটল

1
আমি সন্দেহ করি যে "... লক্ষ্য INSERT_YOUR_MISSING_DEFINITION ..." ওভাররাইড করে তারপরে আপনাকে অবশ্যই এটিতে $ (উত্তরাধিকারসূত্রে) যুক্ত করতে হবে। অদ্ভুতভাবে যদিও, আমার এক্সকোডটি ডিফল্ট হিসাবে f (উত্তরাধিকারসূত্রে) কিছুটা বেহুদা দেখাচ্ছে showing আমি সম্পাদনা করেছি এবং কেবল একই জিনিসটি পুনরায় টাইপ করেছি। ত্রুটি অদৃশ্য হয়ে গেল ..
জো

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

1
@msmq এখন অনেক দিন হয়ে গেছে, কিন্তু আপনি যে প্রচেষ্টাটি চেষ্টা করেছিলেন এবং এটি কাজ করে গেছেন তা কি মনে আছে? $(inherited)ইতিমধ্যে শীর্ষ লাইনে আছে তবে এটি আমার পক্ষে কাজ করে না: /
কোস্টাস ডিমাকিস

1
আমি এটি যুক্ত করেছি স্টিল পড ইনস্টল একই ত্রুটি ছুঁড়েছে।
rohitwtbs

75

আপনার বিল্ড সেটিংস এবং কোকোপডস যে ডিফল্ট বিল্ড সেটিংস চায় সেগুলির মধ্যে দ্বন্দ্ব রয়েছে। কোকোপডস বিল্ড সেটিংস দেখতে, আপনার প্রকল্পের পডস / টার্গেট সাপোর্ট ফাইল / পডগুলিতে .xcconfig ফাইল (গুলি) দেখুন project {প্রকল্প প্রকল্প CT / project আমার জন্য এই ফাইলটি রয়েছে:

GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/Commando"
OTHER_LDFLAGS = -ObjC -framework Foundation -framework QuartzCore -framework UIKit
PODS_ROOT = ${SRCROOT}/Pods

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

অন্যদিকে, আপনার যদি কাস্টম সেটিং থাকে যা আপনার ব্যবহার করা দরকার, তবে সেই সেটিংটিতে $ (উত্তরাধিকারসূত্রে) যুক্ত করুন।


আমারও এই সমস্যাটি ছিল, আমি -ObjC অপসারণ করতে সক্ষম হয়েছি এবং এই সমস্যাটি স্থির করেছে। যাইহোক, আমি যখন প্রকল্পটি নির্মাণের চেষ্টা করেছি, তখন লক্ষ্যযুক্ত নির্দিষ্ট পোড লাইব্রেরিটি খুঁজে পাওয়া যাবে না এমন পরামর্শ দিয়ে আমি একটি ত্রুটি পেয়েছি: "ld: -lPods-MyProject এর জন্য লাইব্রেরি পাওয়া যায় নি"। আপনি কি অনুরূপ কিছু দেখেছেন?
রডেরিক ক্যাম্পবেল

3
আমি আবার এটি চালানো। আমি নিশ্চিত নই $ (উত্তরাধিকারসূত্রে) মানে। আমি এটি কোথায় যুক্ত করব?
হুগি

@ রডারিক ক্যাম্পবেল আমি দেখতে পেয়েছি যে প্রকল্প থেকে ওজজিসি অপসারণ আমার পক্ষে ভাল কাজ করে এবং আমি আপনার ত্রুটি দেখতে পাচ্ছি না।
হুগি

1
হুম, তবে আমার বিভাগগুলির জন্য রান-টাইমে এর জন্য আমার জন্য ওজবিসি পতাকা প্রয়োজন।
হুগি

3
OTHER_LDFLAGS = অন্যান্য লিঙ্কযুক্ত পতাকাগুলি, HEADER_SEARCH_PATHS = শিরোনাম অনুসন্ধানের পথগুলি, GCC_PREPROCESSOR_DEFINITIONS = প্রিপ্রসেসর ম্যাক্রো। @ ক্রাফটিদেবিল, আপনি কোন সেটিং মুছতে চাইছেন?
ফটম্যান

30

টার্মিনালে পড কমান্ডের জন্য আমি এই 3 টি ত্রুটি দেখেছি

pod install

[!] দ্য MY_APP [ডিবাগ / রিলিজ] লক্ষ্য HEADER_SEARCH_PATHS অগ্রাহ্য ...
[!] দ্য MY_APP [ডিবাগ / রিলিজ] লক্ষ্য OTHER_LDFLAGS অগ্রাহ্য ...
[!] দ্য MY_APP [ডিবাগ / রিলিজ] লক্ষ্য GCC_PREPROCESSOR_DEFINITIONS অগ্রাহ্য .. ।

এই 3 টি ত্রুটি to (উত্তরাধিকারসূত্রে) যুক্ত করে চলে যাবে

  1. শিরোনাম অনুসন্ধানের পথগুলি
  2. অন্যান্য লিঙ্কার পতাকা
  3. প্রিপ্রসেসর ম্যাক্রোস

ভিতরে প্রকল্প -> টার্গেট -> সেটিংস বিল্ড

এবং এখন কমান্ড কোন ত্রুটি না দিয়ে চলতে হবে

pod install

উপরেরগুলি আমার পক্ষে কাজ করেছিল, যখন কেবল পতাকা পরিবর্তনের জন্য Other Linker Flagsপর্যাপ্ত ছিল না।
জ্যারেডে

21

আপনার প্রকল্পে, সন্ধান করুন Target -> Build Settings -> Other Linker Flags, নির্বাচন করুন Other Linker Flags, delete(ম্যাক কীবোর্ড) টিপুন /Backspace সেটিংসটি পুনরুদ্ধার করতে (সাধারণ কীবোর্ড) । এটা আমার জন্য কাজ করে.

উদাহরণ:

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

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


1
আমরা কি অন্যান্য লিঙ্কার ফ্ল্যাগগুলিতে ইতিমধ্যে অবস্থিত সেটিংসগুলি সরিয়ে ফেলি? বা আমরা তাদের রাখি এবং also (উত্তরাধিকারসূত্রে) যুক্ত করব ??
isJulian00

20

আমি দৌড়ানোর সময় ঠিক একই রকম সমস্যা পেয়েছি pod install, আমি নিম্নলিখিত সতর্কতা / ত্রুটিগুলি (সম্পর্কিত সম্পর্কিত) দেখেছিCLANG_CXX_LIBRARY ) :

কোকোপডস থেকে ত্রুটি / সতর্কতা

[!] The `Project [Debug]` target overrides the `CLANG_CXX_LIBRARY` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `Project [Release]` target overrides the `CLANG_CXX_LIBRARY` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

ঠিক করা

  1. আপনার নির্বাচন করুন Projectযাতে আপনি এটি দেখতে পারেনBuild Settings
  2. আপনার Target( AppNameঅধীন) নির্বাচন করুনTargets )
  3. সন্ধান করুন C++ Standard Library(এটি সম্ভবত বোল্ডে হবে - এর অর্থ এটি ওভাররাইড করা হয়েছে)।
  4. লাইনটি নির্বাচন করুন (সুতরাং এটি নীলকে হাইলাইট করা হয়েছে) এবং টিপুন ⌘ + DELETE(কমান্ড + ব্যাকস্পেস)

লাইনটি আর সাহসী হওয়া উচিত নয় এবং আপনি যদি pod installসতর্কতা / ত্রুটিগুলি চালনা করেন তবে অদৃশ্য হয়ে যাওয়া উচিত ছিল।


ভিজ্যুয়াল এইড

CLANG_CXX_LIBRARY কোকোপডগুলির সাথে ত্রুটি / সতর্কতা


12

লিঙ্ক করার সময় যদি Xcode অভিযোগ করে, উদাহরণস্বরূপ -lPods এর জন্য লাইব্রেরি পাওয়া যায় নি, তবে এতে অন্তর্নিহিত নির্ভরতা সনাক্ত করা যায় না:

প্রোডাক্ট> এডিট স্কিমে যান বিল্ড-এ ক্লিক করুন পডগুলি স্থির লাইব্রেরিটি পরিষ্কার করুন এবং আবার বিল্ড করুন


আপনি যেভাবে পরামর্শ দিয়েছেন সেভাবে চেষ্টা করেছি, তবে এটি পড ফাইল দ্বারা সাম্প্রতিক ইনস্টল করা ফ্রেমওয়ার্কগুলি প্রদর্শন করছে না, লিঙ্কারের পতাকা সংক্রান্ত ত্রুটিগুলি সমাধান করার জন্য আরও কোনও পরামর্শ। @ আমিট সাক্সেনা
অনিলকুমার আইওএস

11

আমার জন্য সমস্যাটি ছিল আমার টার্গেট পরীক্ষাগুলিতে। আমি ইতিমধ্যে ছিল$(inherited) আমার প্রধান অ্যাপ্লিকেশন টার্গেটে পতাকা ।

আমি এটিকে মাই অ্যাপেস্টেস্ট অন্যান্য লিঙ্কার পতাকাগুলিতে যুক্ত করেছি। এর পরে আমি যখন দৌড়ালাম pod installতখন সতর্কতা বার্তাটি শেষ হয়ে গেল। এখানে চিত্র বর্ণনা লিখুন


6

নীচের লিঙ্কের প্রথম লাইনটি আমার দিনটি সংরক্ষণ করেছে:

আপনার প্রকল্পের বিল্ড সেটিংস থেকে বিকল্পগুলিতে মানগুলি যুক্ত করতে, মান তালিকাটি $ (উত্তরাধিকারসূত্রে) দিয়ে প্রেন্ডিং করুন।

https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq

এছাড়াও, আপনার পড ফাইলের শুরুতে এই লাইনটি প্রবেশ করতে ভুলবেন না:

platform :iOS, '5.0'

6

আমি $ (উত্তরাধিকারসূত্রে) যুক্ত করেছি তবে আমার প্রকল্পটি এখনও সংকলন করছে না। আমার জন্য সমস্যাটি ছিল "কেবলমাত্র সক্রিয় আর্কিটেকচারের জন্য বিল্ড" এর পতাকাটি ছিল, আমাকে এটি হ্যাঁ সেট করতে হয়েছিল।


যদি প্রকল্পগুলি সংকলিত হয় তবে আমরা কি কেবল সতর্কতাগুলি উপেক্ষা করতে পারি?
isululian00
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.