এক্সকোড 4 (এবং নির্ভরতা) এর সাথে সমস্যাগুলি সঙ্কলন করুন, তৈরি করুন বা সংরক্ষণাগারভুক্ত করুন


96

আরও সাধারণ সমস্যাগুলি কভার করতে এই প্রশ্নটি কয়েক সপ্তাহ ধরে বিকশিত হয়েছে (এবং আপগ্রেড করার প্রকল্পগুলি পুরানো হয়ে যায় s)।

তবে একই সেট নির্দেশিকাগুলি অনুসরণ করে অনেকগুলি সমস্যার সমাধান করা যেতে পারে।

নিম্নলিখিত সমস্যাগুলির যদি আপনার কাছে থাকে তবে গৃহীত উত্তরের পদ্ধতিগুলি ব্যবহার করে দেখুন:

  • এক্সকোড 4 কোনও অ্যাপ সংরক্ষণাগারভুক্ত করতে ব্যর্থ
  • এক্সকোড 4 একটি অব্যবহারযোগ্য সংরক্ষণাগার তৈরি করে
  • এক্সকোড 4 একটি আইপা তৈরি করে না
  • প্রিপ্রসেসর ত্রুটির কারণে এক্সকোড 4 সংকলন করতে ব্যর্থ
  • এক্সকোড 4 শিরোলেখ খুঁজে পাচ্ছে না
  • এক্সকোড 4 এর কোড সম্পূর্ণ কাজ করছে না
  • প্রকল্প নির্ভরতা সংকলন করবে না
  • নির্ভরতা যুক্ত করা উপরের যে কোনও সমস্যার কারণ হয়ে দাঁড়ায়

মূল প্রশ্ন

শিরোনাম: এক্সকোড 4 এ "লেক্সিকাল বা প্রিপ্রসেসর ইস্যু ফাইলটি পাওয়া যায় নি"

আমার এক্সকোড 4 এ একটি প্রকল্প রয়েছে যা জরিমানা তৈরি করবে এবং ডিভাইস এবং সিমুলেটরটিতে চলবে তবে কোনও স্ট্যাটিক লাইব্রেরির সাথে সম্পর্কিত হেডার ফাইলগুলি অনুসন্ধান করার সময় এটি ত্রুটিগুলি সংরক্ষণাগার করার চেষ্টা করার সময়:

In file included from /Volumes/Development/Path/LBProject/LBProject/LBProject-Prefix.pch:15:
In file included from /Volumes/Development/Path/LBProject/LBFDefines.h:23:
In file included from /Volumes/Development/Path/LBProject/Classes/LBProjectAppDelegate.h:11:
In file included from /Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDirectoryManager.h:10:
/Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDataModel.h:11:9: fatal error: 'Merchant.h' file not found [1]
 #import "Merchant.h"
         ^
1 error generated. 

এক্সকোড ত্রুটি দেয়

lexical or preprocessor issue file not found 

অনেকগুলি গুগলিং দেখিয়েছে যে অনেক লোক এই সমস্যা নিয়ে আসছে তবে কোনও সমাধান নেই। যে কেউ একটি সমাধান বা এমনকি একটি ক্লু পেয়েছে।

আপডেট করুন:user header অনুসন্ধান পাথ সেট করা হয় ${BUILT_PRODUCTS_DIR}সমস্ত কনফিগারেশনের হবে। সংরক্ষণাগারভুক্ত ব্যতীত অন্য কোনও কনফিগারেশন ব্যবহার করে এটি সূক্ষ্ম তৈরি করে।

আপডেট 2: Merchant.h একটি কোর ডেটা ক্লাস যা স্বয়ংক্রিয়ভাবে উত্পন্ন হয় এবং তাই .xcdatamodeldপ্যাকেজের অভ্যন্তরে থাকে তবে গ্রন্থাগারটি তৈরি হওয়ার সময় শিরোনামগুলি সর্বজনীন শিরোনাম ডিরেক্টরিতে অনুলিপি করা হয়।

উত্তর:


119

নোট: নীচের পদক্ষেপগুলি আপনার 90% এক্সকোড সংরক্ষণাগার সমস্যার সমাধান করবে তবে মন্তব্যগুলি থেকে পরামর্শ দেওয়া হয় আপনি প্রথমে এক্সকোড ছাড়ার চেষ্টা করবেন । এটি আপনার টুইট নির্ধারণের কয়েক ঘন্টা বাঁচাতে পারে।

  1. "ব্যবহারকারীর শিরোলেখের পাথগুলি" সঠিক কিনা তা পরীক্ষা করুন (আপনার প্রকল্প এবং নির্ভরতা উভয় জায়গাতেই স্পেসগুলির জন্য "" রাস্তাগুলিতে যুক্ত করুন)
  2. হ্যাঁ "সর্বদা অনুসন্ধানকারীর পাথ অনুসন্ধান করুন" সেট করুন
  3. আপনার প্রকল্পে একটি গ্রুপ কল "ইনডেক্সিং শিরোলেখ" তৈরি করুন এবং শিরোনামগুলি এই গোষ্ঠীতে টেনে আনুন, অনুরোধ জানালে কোনও লক্ষ্যবস্তুতে যুক্ত করবেন নাএটিতে আপনার .xcdatamodeld এর মধ্যে কোনও শিরোনাম অন্তর্ভুক্ত রয়েছে , আপনাকে প্যাকেজের সামগ্রীগুলি ডানদিকের ক্লিক করতে হবে এবং সেগুলি খুঁজে বার করতে হবে।
  4. সমস্ত নির্ভরতার জন্য "স্কিপ ইনস্টল করুন" বিল্ড সেটিংটি "হ্যাঁ" এ সেট করুন
  5. বিল্ড পর্বে যে কোনও "পাবলিক" শিরোনামকে "প্রকল্প" এ সরানো হচ্ছে
  6. আপনার টার্গেটে বিল্ড সেটিং "ইনস্টলেশন ডিরেক্টরি" সেট করুন$(LOCAL_APPS_DIR)
  7. টার্গেট বিল্ড সেটিংটি "অন্তর্ভুক্তের জন্য সমস্ত উত্সের ফাইলগুলি স্ক্যান করুন" এ YES এ পরিবর্তন করুন। ( লিঙ্ক )
  8. এক্সকোডের নতুন সংস্করণগুলির সাথে (> 4.2) আপনি ওয়ার্কস্পেস সম্পর্কিত এই প্রশ্নটি পড়তে চাইতে পারেন ।
  9. প্রজেক্ট.এক্সকোর্সস্পেস ফাইলগুলি ম্যানুয়ালি মুছে ফেলুন সমস্ত রেফারেন্সড প্রকল্পগুলি

28
এই সমস্যাটি সমাধান করার জন্য আমার খুব শেষ পরামর্শটি। এক্সকোডটি বন্ধ ও পুনরায় খুলুন।
ক্রিস মাইলস

4
হ্যাঁ, আমার জন্য একই জিনিস, কেবল এক্সকোড পুনরায় চালু করতে হবে। আমি প্রকল্পটিতে ফাইলগুলির নাম পরিবর্তন এবং সরানোর পরে এটি ঘটেছে।
মৌরিজিও

আমিও. যে বাগের অস্তিত্ব নেই তার চেয়ে হতাশার আর কিছু নেই। এটি এত সহজে সমাধান করা দারুণ।
ম্যাক্সডিসন

4
Xcode3 থেকে xcode4 এ পুরানো প্রকল্পগুলি স্থানান্তরিত করা তিন20 ব্যবহারকারীদের জন্য নোট: আপনাকে (লক্ষ্য করতে হবে) লক্ষ্য অনুসারে নির্দিষ্ট স্থানগুলি xcode পছন্দ / অবস্থান / অগ্রসর / -> পরিবর্তন করতে হবে। আরও তথ্যের জন্য stackoverflow.com/questions/5261447/… দেখুন
বেন জি

4
পবিত্র নম্বর 1 নম্বর ক্র্যাপ! উদ্ধৃতি! পরিবেশ $ (এসআরসি_আরওটি) অবশ্যই, "স্পেস" সহ একটি পথ নিয়ে সমাধান করতে পারে। আমার প্রকল্পটি জিপ করা এবং অন্য কোথাও উত্তোলনের ফলে বিল্ড ব্যর্থ হওয়ার কারণটি বের করতে পারিনি!
এরিক কার্বার

13

এক্সকোড 4 এ আমারও একই সমস্যা ছিল: "লেক্সিক্যাল বা প্রিপ্রসেসর ইস্যু মাইফাইলে। পাওয়া যায় নি"। যাইহোক, মাইফিল.এম একটি স্ট্যাটিক লাইব্রেরি ছিল না, কেবল একটি স্ট্যান্ডার্ড ক্লাস। এবং মাইফাইল.এম এবং মাইফাইল এইচটিকে সঠিকভাবে অন্তর্ভুক্ত করা হয়েছিল এবং প্রকল্পে সূচিযুক্ত করা হয়েছিল।

সুতরাং ... আমি এক্সকোড এবং সিমুলেটরটি ছেড়ে দিয়েছি, তারপরে সেগুলি পুনরায় চালু করেছি এবং সমস্যাটি অদৃশ্য হয়ে গেল।


আমার একই অবস্থা ছিল, তবে একই শ্রেণিতে থাকা কোনও সম্পর্কযুক্ত সম্পত্তি ভুলভাবে উল্লেখ করার কারণে অবাঞ্ছিত ত্রুটি প্রদর্শিত হয়েছিল (মূলত আমি স্ব ব্যবহার করতে ভুলে গেছি) - অদ্ভুত একটি।
জার্ক

11

আমি খুঁজে পেয়েছি যে যখন আমি টার্গেট বিল্ড সেটিংটি "এর জন্য সমস্ত উত্সের ফাইলগুলি স্ক্যান করুন" না থেকে হ্যাঁ পরিবর্তন করেছি তখন সমস্যাটি চলে গেছে।


6

আমি অনুসন্ধানকারীটিতে প্রকল্পের ডিরেক্টরিতে .h ফাইলগুলি অনুলিপি করে কোনও বিল্ড সেটিংসে কোনও পরিবর্তন ছাড়াই এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি। আমি এগুলিকে প্রজেক্টে মোটেই যুক্ত করিনি। তাদের কেবলমাত্র প্রকল্পের ফাইল ডিরেক্টরি ডিরেক্টরিতে থাকা মনে হয়েছিল যে এক্সকোডের অন্তর্নিহিত লিঙ্কটিকে সঠিকভাবে কাজ করার অনুমতি দেওয়ার জন্য যথেষ্ট। আরও বিশদ এখানে


+1 আমি যে প্রশ্নটি দিয়েছি সে উত্তরটির জন্য একটি লিঙ্ক যুক্ত করেছি, তথ্যের জন্য ধন্যবাদ!
রিচার্ড স্টিলিং

4

আমি এই মত একটি অদ্ভুত সমস্যা ছিল। "সমস্ত রিসোর্স ফাইলগুলি স্ক্যান করুন ..." হ্যাঁ কোনও পরিবর্তন হয়নি। আমি ফ্রেমওয়ার্ক অনুসন্ধানের পথগুলি একবার দেখেছিলাম এবং লক্ষ্য করেছি যে আমার ছিল

  • $ (উত্তরাধিকারসূত্রে)
  • "$ (এসআরক্রট)"
  • "$ (এসআরক্রট) / আমার / সঠিক / পথ"

এটি ঠিক মনে হয়েছিল তবে ব্যর্থ হয়েছিল was আমি তারপরে 2 ও 3 এর ক্রমটি পুনরায় সাজানোর চেষ্টা করেছি এবং হঠাৎ এটি জরিমানা হয়ে গেছে। সুতরাং কেন নিশ্চিত হলেন না যে এই হিকআপ ছিল, তবে এটি অন্য কাউকে সাহায্য করার ক্ষেত্রে চেষ্টা করার জন্য বিষয়গুলির তালিকায় এটি যুক্ত করতে চেয়েছিল।


4

আমার সমাধানটি ছিল আমার পরিবর্তন করা

#import "HeaderFile.h"

প্রতি

#import <FrameworkName/HeaderFile.h>

এবং সবকিছু আবার কাজ শুরু। যেটি অস্বাভাবিক ছিল তা হ'ল এটি কয়েকবার নির্মাণের পরে হঠাৎ কাজ বন্ধ করে দিয়েছে।


আমি আমার সাবপ্রজেক্টের সাথে অন্য সমস্ত কিছু চেষ্টা করেছি এবং এটিই কেবল কাজ করবে। ধন্যবাদ.
dirkoneill

স্থির পাঠাগারগুলির জন্য আপনার এখনও ডাবল-কোট ব্যবহার করা উচিত। অ্যাঙ্গেল বন্ধনীগুলি সিস্টেমের শিরোলেখের পাথগুলি অনুসন্ধান করে এবং ব্যবহারকারী শিরোনাম পাথগুলি অনুসন্ধান করবে না আপনি যদি না সর্বদা অনুসন্ধান ব্যবহারকারী পাথ বিকল্পটি সক্ষম করেন তবে আপনাকে যা করতে হবে না সেগুলি করা উচিত।
ডিভাইস 1

2

আমি সেট করার সময় সমস্যাটি নিজেই সমাধান হয়ে গেছে

বিল্ড সেটিংস-> প্রকল্প-> হ্যাঁ অনুসন্ধানের পথ


2

আমার প্রকল্প (2 লক্ষ্যমাত্রা - আমি একই ছিল প্রকল্প এবং ProjectTest এর GHUnit)। যখন আমার পরিকল্পনার লক্ষ্যে তৈরী করা হয়েছিল প্রকল্প , আমদানি <GHUnitIOS/GHUnit.h>সমস্যা ছিল "আভিধানিক বা প্রাক প্রসেসর ইস্যু পাওয়া যায়নি ফাইল" । তবে যখন আমি একটি প্রকল্প প্রকল্প টেস্ট হিসাবে সেট করি তখন সবকিছু ঠিক ছিল। তাই, আমি যোগ করেছেন GHUnitIOS.frameworkমধ্যে প্রকল্প খুব।


আমার বিপরীত সমস্যা ছিল। আমার উত্তর দেখার stackoverflow.com/a/16783389/629014
slcott

1

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


1

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


1

আমার প্রকল্পে একটি বিশেষ .h ফাইলের জন্য আমি এই "ফাইলটি খুঁজে পাইনি" ত্রুটি পেয়েছিলাম। আমি প্রকল্প থেকে .h ফাইলটি সরিয়ে ("রেফারেন্সগুলি সরান" নির্বাচন করে) পুনরায় যুক্ত করে সমস্যাটি সমাধান করেছি।


1

আরো বৈকল্পিক উপর যোগ করার পদ্ধতি: আমি দুই স্থানেই ছিল foo.mমধ্যে Compile Sourceবিল্ড পর্ব, যা কিছু কিভাবে সৃষ্ট জন্য "শিরোলেখ not found" foo.h


1

আরেকটি সুযোগ:

ওয়ার্কস্পেস প্রকল্পে: বিভাগ নির্মাণের পর্যায়গুলির জন্য লক্ষ্যমাত্রায় দেখুন। অনেকগুলি ম্যানুয়াল হিসাবে বলা হয়েছে যে আপনার সমস্ত শিরোনামকে অন্য জায়গায় অনুলিপি করতে আপনার একটি অনুলিপি ফাইল বিল্ড ফেজ থাকা দরকার, কারণ আইওএস ফ্রেমওয়ার্কে ভাগ করার জন্য শিরোনাম ফাইল থাকতে পারে না (এটি আমার ক্ষেত্রে)।

গন্তব্য বিকল্প হিসাবে "পণ্য ডিরেক্টরি" হিসাবে সেই অনুলিপি ফাইলগুলির জন্য চয়ন করুন। অথবা আপনার মতো অন্য কোনও ডিরেক্টরি যেখানে শিরোনামগুলি থাকবে।

এটা আমার জন্য কাজ করেছে। সম্ভবত বিল্ড ফর আর্কাইভ (বা প্রকাশ) ডিরেক্টরিটি ডিবাগের জন্য বিল্ডে প্রত্যাশার চেয়ে খুব আলাদা different

আপনার বিল্ড ডিরেক্টরিটি আপনার ওয়ার্কস্পেস সেটিংসেও পরীক্ষা করে দেখুন।

এক্সডি


0

আমার জন্য, আমি প্রকল্পটিতে নতুন ফাইল যুক্ত করার পরে এই সমস্যাটি দেখা দিয়েছে; একটি ফাঁকা .m এবং .h এনএসবজেক্ট থেকে প্রাপ্ত। আমি কীভাবে এটি সমাধান করেছি তা এখানে:

  1. এক্সকোড বন্ধ এবং পুনরায় চালু হয়েছে
  2. এক্সকোডের মাধ্যমে দুটি নতুন ফাইল মুছে ফেলা হয়েছে
  3. সাফল্যের সাথে পুনরায় সংকলিত

আমি পরে তাদের পুনরায় যুক্ত করেছিলাম এবং এটিও কাজ করে।

এক্সকোডে অবশ্যই একটি বাগ ...

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