आर्किटेक्चर के लिए डुप्लिकेट प्रतीक X86_64 Xcode के तहत


219

मुझे अब उपरोक्त शीर्षक के साथ एक ही सवाल है लेकिन अभी तक सही उत्तर नहीं मिला है। मुझे त्रुटि मिली:

    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
duplicate symbol _OBJC_METACLASS_$_MoboSDK in:
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
ld: 75 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

किसी भी मदद की सराहना की है।

अंत में  मुझे इस त्रुटि के कारण का पता चलता है जो मैंने इसमें जोड़ा -ObjCहै Other Linker Flags। इस मान को निकालने के बाद मैं अपना प्रोजेक्ट सफलतापूर्वक बना सकता हूं, लेकिन मुझे नहीं पता कि क्यों। क्या कोई इसे समझा सकता है?


लिंकर ने सटीक होने के लिए एक बार से अधिक 75 को परिभाषित प्रतीकों का सामना किया है। यह भी हो सकता है, क्योंकि आप #include'घ या #import' घ कुछ (संभावना MoboSDK, जो कुछ भी है) एक बार से अधिक।
रावरॉन

यह त्रुटि तब होती है जब मैं GoogleConversionTrackingSDK-iOS-3.0अपने प्रोजेक्ट में जुड़ता हूं। फिर भी, यह ठीक है। मैंने इसे हटाने की भी कोशिश की, लेकिन त्रुटि अभी भी होती है।
lee

यह मेरा मामला नहीं है, क्योंकि मैं अपनी परियोजना बिल्ड ओके गूगल के एसडीके को जोड़ने से पहले कारण।
lee

एडम वाइट का दूसरा जवाब वास्तव में सीधे आगे है। सुनिश्चित करें कि कहीं # .m फ़ाइल नहीं है।
बोगदान

मेरे मामले में मैं दो अलग वर्गों में एक ही स्ट्रिंग सरणी नाम का उपयोग करने की कोशिश कर रहा था। जब मैंने कक्षाओं में से एक में सरणी का नाम बदल दिया है तो यह त्रुटि हटा दी गई है।
आशा

जवाबों:


109

आर्किटेक्चर x86_64 के लिए 75 डुप्लिकेट प्रतीक

इसका मतलब है कि आपने एक ही कार्य को दो बार लोड किया है। जैसा कि इस -ObjCसे हटाने के बाद समस्या गायब हो जाती है Other Linker Flags,इसका मतलब है कि यह विकल्प परिणाम है कि फ़ंक्शन दो बार लोड होता है:

तकनीकी प्रश्नोत्तर से

यह ध्वज लायब्रेरी में प्रत्येक ऑब्जेक्ट फ़ाइल को लोड करने का कारण बनता है जो ऑब्जेक्ट-सी क्लास या श्रेणी को परिभाषित करता है। हालांकि यह विकल्प आम तौर पर बड़े निष्पादन योग्य होगा (एप्लिकेशन में लोड अतिरिक्त ऑब्जेक्ट कोड के कारण), यह प्रभावी ऑब्जेक्टिव-सी स्थैतिक पुस्तकालयों के सफल निर्माण की अनुमति देगा जिसमें मौजूदा कक्षाओं पर श्रेणियां हैं।

https://developer.apple.com/library/content/qa/qa1490/_index.html


1
दूसरे शब्दों में, सुनिश्चित करें कि आप अपने xcode प्रोजेक्ट में किसी भी ऑब्जेक्ट फ़ाइलों को हटा दें।
Hypothetical inthe Clavicle

5
यह मेरे लिए भी काम करता है, लेकिन मेरे अन्य पुस्तकालय -ObjCध्वज पर निर्भर हैं । इसलिए मुझे अपनी परियोजना सेटिंग में इस ध्वज को रखने की आवश्यकता होगी। तो क्या आप कृपया कोई अन्य उपाय सुझा सकते हैं?
सुनील टार्गेट २४'१६ को il:

3
मुझे लगता है कि आपको अपने सभी पुस्तकालयों की समीक्षा करने की आवश्यकता है: यदि आपको डुप्लिकेट लिंकर त्रुटि मिलती है, तो इसका मतलब है कि आपके पास 2 या अधिक पुस्तकालयों में समान स्रोत कोड है।
डेविड वी

मुझे कुछ रिएक्ट लाइब्रेरीज़ को हटाना पड़ा, जिनके बारे में टारगेट के तहत शिकायत की जा रही थी-> बिल्ड फेज़-> लिंक बाइनरी इन लाइन्स विथ एक्सकोड क्योंकि यह मेरे कोको पॉड्स इंस्टाल ऑफ़ रिएक्ट
कोटी एम्ब्रायरी

मेरे मामले में मेरे पास .m फ़ाइल है। इतनी बेवकूफ गलती। एक बार जब मैंने .h फ़ाइल आयात की। यह निर्माण के लिए तैयार है !! धन्यवाद
रवि

261

मेरे लिए, यस से नो (टार्गेट्स-> बिल्ड सेटिंग्स-> ऐप्पल एलएलवीएम - कोड जेनरेशन) के तहत 'नो कॉमन ब्लॉक्स' को बदलकर समस्या को ठीक किया।


3
इससे मेरी समस्या हल हो गई। क्या कभी इसे वापस बदलने की आवश्यकता है NO? इसके पीछे क्या कारण है?
हेमांग

3
हाँ यह समस्या को हल करता है, लेकिन इसके पीछे का कारण नहीं है। यदि आपने एक कास्ट परिभाषित किया है, तो सुनिश्चित करें कि निश्चित है ठीक है। मेरे मामले में मैं बस "बाहरी" भूल गया। इसका उल्लेख सौविक दोलुई उत्तर में किया गया है।
कोको

10
Xcode 8 ने इस बदलाव को अपने एक स्वचालित अपडेट के रूप में प्रेरित किया और मेरे निर्माण को तोड़ दिया: /
pkamb

1
2 घंटे खर्च करने के बाद, इस उत्तर के कारण इस मुद्दे को हल किया गया है। धन्यवाद
मनीष पाठक

1
यह काम करता है, लेकिन मुझे इसे लक्ष्य और परियोजना में बदलना पड़ा
नोबेलु

251

बेवकूफ एक, लेकिन सुनिश्चित करें कि आपने कहीं गलती से #importकोई .mफ़ाइल एड नहीं की है


3
मैंने ऐसा नहीं किया था, लेकिन इस समाधान ने मुझे यह पता लगाने में मदद की कि मैंने क्या किया था जो गलती से इनहेर ब्लॉक को @ .h फ़ाइल के बाहर एक चर घोषित करना था।
स्कूटर

यूनिट परीक्षणों का उपयोग करते समय, केवल .m फ़ाइल उत्पन्न होती है। मैंने इसके लिए एक हेडर फ़ाइल बनाई, हालांकि मुझे लगता है कि यह सबसे अच्छा समाधान नहीं है - मैं एक आधार परीक्षण वर्ग बनाना चाहता था।
ब्रूनो मुनिज़

आपने मेरे दिमाग को इस संभावना के लिए धन्यवाद देने के लिए बहुत धन्यवाद दिया कि मैंने ऐसी मूर्खतापूर्ण गलती की।
डैनियल लीमा

कैसे के बारे में पार परियोजना आयात .m फ़ाइल?
noveleven

54

मेरे मामले में, मैंने इस तरह लगातार तार को परिभाषित करने के लिए एक हेडर फ़ाइल बनाई:

NSString *const AppDescriptionString = @"Healthy is the best way to keep fit";

मैंने इस परिदृश्य का उपयोग करके हल किया static:

static NSString *const AppDescriptionString = @"Healthy is the best way to keep fit";

2
इससे मेरे लिए समस्या हल हो गई। हालांकि मैं पहले से जुड़ा हुआ externबजाय static: extern NSString * const kNotificationName;। जो अजीब है, क्योंकि यू ने आमतौर पर इस तरह के उपसर्ग को नहीं जोड़ा है, और यह ठीक काम किया है ..
user1244109

यह, किसी कारण से, मेरी समस्या हल हो गई। धन्यवाद। मुझे समझ में नहीं आता है कि कंपाइलर डुप्लिकेट प्रतीकों की तुलना में बेहतर प्रतिक्रिया क्यों नहीं दे सकता है, जो बिल्कुल संबंधित नहीं लगता है।
सायरन

@ सायरन, मुझे LLVM कंपाइलर से एक बेहतर त्रुटि संदेश की उम्मीद है। वैसे भी मैं भाग्यशाली था कि 2 दिनों के बाद त्रुटि का पता लगा। :(
सौविक डोलुई

यह मेरी समस्या थी और इसके कारण वास्तविक समस्या क्यों है?
फतलाड

यह ठीक है यदि सभी चर AppStrings.hस्थिरांक हैं, हालांकि, यह कहर पैदा करेगा यदि आप एक वैश्विक परिवर्तनशील चर चाहते हैं क्योंकि हर स्रोत फ़ाइल जिसमें हेडर फ़ाइल शामिल है, चर की अपनी प्रतिलिपि होगी। यह एक बुरा समाधान है।
ट्रोजनफॉ

32

मैंने समस्या पर स्वीकृत उत्तर को छू लिया, लेकिन मुझे इसे हल करने में मदद नहीं की, उम्मीद है कि यह उत्तर इस निराशाजनक मुद्दे के साथ मदद करेगा।

duplicate symbol _OBJC_IVAR_$_BLoginViewController._hud in:

17 duplicate symbols for architecture x86_64

"इसका मतलब है कि आपने एक ही फ़ंक्शन को दो बार लोड किया है। जैसे ही हटाने के बाद समस्या गायब हो जाती है-अन्य लिंकर फ्लैग से -bjC, इसका मतलब है कि यह विकल्प परिणाम है कि फ़ंक्शन दो बार लोड होता है:"

आम आदमी की शर्तों में इसका मतलब है कि हमारे प्रोजेक्ट में दो फाइलें बिल्कुल एक ही नाम से हैं। हो सकता है कि आप एक प्रोजेक्ट को दूसरे में जोड़ रहे हों? "डुप्लिकेट प्रतीकों" से ऊपर की त्रुटियों पर एक नज़र डालें कि कौन सा फ़ोल्डर डुप्लिकेट है, यह देखने के लिए, मेरे मामले में यह BLoginViewDontroller था।

उदाहरण के लिए, नीचे दी गई छवि में आप देख सकते हैं कि मेरे पास दो BImageViewControllers हैं, मेरे लिए यह वही है जो समस्या पैदा कर रहा था।

जैसे ही मैंने एक को हटाया तो मुद्दा गायब हो गया :)

यहां छवि विवरण दर्ज करें


2
बहुत मदद, धन्यवाद। मैंने एक प्रोजेक्ट का बैकअप लिया है जिसमें कोकोपोड्स का उपयोग किया गया है। यह भूल जाने पर कि जब मैंने Xcode में बैकअप को पुनः लोड किया तो मुझे कार्यक्षेत्र खोलने की आवश्यकता हुई और पाया कि यह निर्माण नहीं करेगा, तो मैंने प्रोजेक्ट में सीधे AFNetworking जोड़ा। मैं बाद में अपने कोकोपोड्स को फिर से सेटअप करने के लिए चला गया, जिसमें एक निर्भरता के रूप में AFNetworking शामिल था और मैं अपने प्रोजेक्ट में जोड़े गए मूल AFNetworking फ़ोल्डर को निकालना भूल गया था।
JanB

32

मुझे भी यही समस्या है। पथ प्रोजेक्ट लक्ष्य में Xcode 7.2 में> सेटिंग सेट करें> कोई सामान्य ब्लॉक नहीं है, मैं इसे NO में बदलता हूं।


4
यह मेरा मुद्दा था। यह एक सेटिंग थी जिसे Xcode 8 ने डाला था। धन्यवाद!
राबर्ट जे। क्लेग

30

जब आप अलग-अलग वर्ग में एक ही नाम के साथ कॉन्स्टेबल चर घोषित करते हैं:

फ़ाइल में

const int kMessageLength = 36;

@implementation Message

@end

फ़ाइल में चैट

const int kMessageLength = 20;

@implementation Chat

@end

1
कास्ट नहीं, लेकिन मेरे लिए यह तब काम आया जब मैंने चर का नाम बदल दिया
ओकटे

मेरे पास दो अलग-अलग वर्गों के @ कार्यान्वयन में परिभाषित अपने स्वयं के वर्ग चर के एक सूचक के साथ था
21

संकलित समय में, केवल हेडर (.h) फ़ाइलों में डुप्लिकेट प्रतीकों (यहां वैश्विक चर) के लिए कंपाइलर चेक करता है। लेकिन लिंकिंग टाइम में (वैश्विक) वेरिएबल इंप्लीमेंटेशन (.m) फाइलों में भी जांचा जाता है और यदि कोई डुप्लिकेट है, तो लिंकर त्रुटि के माध्यम से होगा: डुप्लिकेट सिंबल _xyz
VERMA

30

यह मेरे ऊपर तब हुआ जब मैंने दो साल पहले ऑब्जेक्टिव-सी में विकसित किए गए प्रोजेक्ट पर "अनुशंसित सेटिंग्स" पॉप-अप को स्वीकार किया।

समस्या यह थी कि जब आप "अनुशंसित सेटिंग्स" अपडेट को स्वीकार करते हैं, तो Xcode स्वचालित रूप से बदल जाता है या कुछ बिल्ड सेटिंग्स जोड़ देता है, जिसमें शामिल हैं GCC_NO_COMMON_BLOCKS = YES;

यह बिल्ड duplicate symbolमेरी अद्यतन परियोजना में त्रुटि के साथ विफल हो गया । इसलिए मैं अपनी बिल्ड सेटिंग्स में बदल No Common Blockगया NOऔर त्रुटि दूर हो गई।


3
हाँ, इससे मुझे मदद मिली। Xcode 8, अनुशंसित सेटिंग्स में एक पुराने प्रोजेक्ट को अपडेट किया। इस वापस स्विच किया और मैं फिर से जाने के लिए अच्छा हूँ। धन्यवाद!
ज़ोल्टन

2
बहुत बढ़िया। मेरी बहुत मदद की! आप के लिए एक वोट अप प्रिय! ;-)
हेलेन वुड

1
शानदार दोस्त :)
बर्फ़

16

डुप्लिकेट खोजने का सबसे तेज़ तरीका है:

  1. लक्ष्य पर जाएं
  2. निर्माण चरणों पर जाएं
  3. कम्पाइल सोर्स पर जाएं
  4. डुप्लिकेट फ़ाइलें हटाएं।

ओमग, यह मेरा मामला था, बहुत बहुत धन्यवाद! अब मैं आपको अपने जीवन के 4 घंटे और कुछ बीयर :) देना चाहता हूं
Miroslav

1
आपका स्वागत है, लेकिन धन्यवाद नहीं मैं पीता हूं :) खुश कोडिंग।
जे। गोस

उस में कुछ और घंटे जोड़ें।
CJ_COIMBRA 16

मेरे लिए काम किया! धन्यवाद!
सुगन्धित

15

निम्नलिखित चरणों ने मेरे लिए समस्या हल कर दी।

  1. लक्ष्य सेटिंग में बिल्ड चरणों में जाएं।
  2. "लिंक बाइनरी विद लाइब्रेरीज़" पर जाएं।
  3. जाँच करें कि क्या पुस्तकालयों में से कोई भी दो बार मौजूद है।
  4. फिर से निर्माण।

13

अन्य लिंकर झंडे से निकालें -ObC या गलती से .h फ़ाइल के बजाय किसी भी .m फ़ाइल को आयात करने की जाँच करें।


1
अरे, हर कोई, जो अभी भी सोच रहा है कि -ओबीजीसी झंडा काम क्यों नहीं करता - इस जवाब पर ध्यान दें। मैं पूरी तरह से गलत सोच रहा था -ObjC झंडा मेरे "सुपर स्पेशल" मामले में काम नहीं करता है। इस परियोजना के माध्यम से खोज करने के बाद जैसे .m"मैंने देखा कि मैंने .h के बजाय .m फ़ाइल आयात की है और इसे ठीक करने के बाद यह काम किया है! Talk is cheap, show me the code!चीयर्स!
bgplaya

9

Xcode 7.3 में खोली गई कुछ विरासत परियोजना के साथ मेरी स्थिति यह थी:

duplicate symbol _SomeEnumState in:

दो असंबंधित files.o की सूची के साथ, फिर यह बार-बार जोड़ा गया, फिर अंत में:

ld: 8 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

मेरे लिए इसे हल करने से एनम घोषणा को बदल रहा था:

enum SomeEnumState {
    SomeEnumStateActive = 0,
    SomeEnumStateUsed = 1,
    SomeEnumStateHidden = 2
} SomeEnumState;

इसके लिए:

typedef NS_ENUM(NSUInteger, SomeEnumState) {
    SomeEnumStateActive = 0,
    SomeEnumStateUsed = 1,
    SomeEnumStateHidden = 2
};

अगर किसी के पास इसके लिए स्पष्टीकरण है, तो कृपया मुझे बताएं।


एक ही बात यह मेरे लिए तय है, जब मैंने टाइप किया एनम पर स्विच किया NS_ENUM इसे डुप्लिकेट प्रतीकों की त्रुटि तय की
Mark24x7

9

एक से अधिक वर्ग में @ कार्यान्वयन के तहत एक ही चर को परिभाषित करना भी इस समस्या का कारण बन सकता है।


लेकिन क्यों? उसी के साथ मेरे साथ सादे सी फंक्शन हुए
vib

9

मेरे मामले में, स्थान में एक ही नाम से दो फ़ाइल थीं

लक्ष्य> चरण बनाएँ> सूत्रों का संकलन करें और किसी भी डुप्लिकेट फ़ाइलों को हटा दें।


8
  • लक्ष्य पर जाएं
  • बिल्ड सेटिंग्स का चयन करें
  • "नो कॉमन ब्लॉक्स" के लिए खोजें , इसे NO पर सिलेक्ट करें ।

इसने मेरे लिए काम किया


7

मैंने कोकोपोड्स को स्थापित करने के बाद इस मुद्दे का अनुभव किया। अब हर बार मैं कुछ पॉड्स को अपडेट करता हूं। समाधान मैंने पाया है:

टर्मिनल पर जाएं:

1) pod deintegrate
2) pod install

इसके अलावा, अपनी बिल्ड सेटिंग्स में आइटम "हमेशा एंबेड स्विफ्ट लाइब्रेरी" की जांच करें। यह "फीका" होना चाहिए यह दर्शाता है कि यह डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग कर रहा है। यदि इसका एक मैनुअल YES में सेट है, तो इसे डिफ़ॉल्ट कॉन्फ़िगरेशन पर वापस लाने के लिए इसे हटाएं। इससे व्यवहार बंद हो गया।


इसने मेरे लिए काम किया। हालाँकि, "ऑलवेज एंबेड स्विफ्ट लाइब्रेरी" पहले से ही NO पर सेट था। मैंने इसे YES में स्विच किया और फिर डिलीट हिट किया और फिर ऊपर बताए गए पॉड फ़ंक्शंस को चलाया।
BVB09

5

मेरे लिए Xcode8 के दौरान सिफारिश की गई परियोजना सेटिंग्स ने "नो कॉमन ब्लॉक्स" को हां में अपडेट किया जो इस समस्या का कारण बनता है।


Xcode8.2.1 के लिए यहाँ भी, जब किसी पुराने प्रोजेक्ट के लिए आवेदन किया जाता है।
वनकिलोपार्स

इसने इसे XCode 11.3.1 पर भी निर्धारित किया
LowFieldTheory

5

आज मुझे वही त्रुटि मिली। त्रुटि का मुख्य शब्द है duplicate। मैं इसे ठीक करता हूं:

1. Remove the duplicate file at Build Phases-->Compile Sources
2. If you can not remove it at Build Phases, you need find the file at your project and remove the reference by DELETE :

संदर्भ निकालें

3. Add the file to your project again
4. Add the file's .m to your Build Phases-->Compile Sources again
5. Build your project, the error will disappear

धन्यवाद! मेरे मामले में मैंने दो मुख्य पंक्तियों को संकलित किया जहां एक पुराना संदर्भ था। यह ड्रैग एंड ड्रॉप के कारण हुआ।
जुबान

4

सुनिश्चित करें कि आपने गलती से एक .m फ़ाइल आयात नहीं की है, आप प्रोजेक्ट विंडो में अपने व्युत्पन्न डेटा को हटाना चाहते हैं और फिर निर्माण और फिर से चला सकते हैं।


4

किसी और के लिए जो इस मुद्दे पर है, मैंने इनमें से किसी भी उत्तर में अपना संकल्प नहीं देखा।

.Pbxproj मर्ज संघर्ष होने के बाद, जो मैन्युअल रूप से संबोधित किया गया था (खराब तरीके से), .pbxproj में व्यक्तिगत वर्ग फ़ाइलों के लिए डुप्लिकेट संदर्भ थे। प्रोजेक्ट से उन को हटाना> बिल्ड चरण> संकलन सूत्रों ने मेरे लिए सब कुछ तय किया।

आशा है कि यह किसी को नीचे लाइन में मदद करता है।


मर्जिंग संघर्ष भी था और उन्हें pbxproj फ़ाइल में मैन्युअल रूप से हल करना था। के साथ समाप्त हुआ ld: X duplicate symbols for architecture x86_64। त्रुटि संदेश में वर्णित स्रोत फ़ाइलों को हटाकर और उन्हें फिर से परियोजना में फिर से जोड़कर इसे ठीक किया।
kas-kad

4

Juice007 के समान, मैंने दो अलग-अलग .m फ़ाइलों में C प्रकार के वैरिएबल की घोषणा की और शुरू की (जो आयात नहीं किए गए थे!)।

BOOL myVar = NO;

हालाँकि, @, यहां तक ​​कि @ में, यहां तक ​​कि @ चर को घोषित करने और शुरू करने की यह विधि इसे वैश्विक गुंजाइश प्रदान करती है। आपके विकल्प हैं:

  1. वर्ग के दायरे को सीमित करने के लिए इसे स्थिर घोषित करें:

    static BOOL myVar = NO;
  2. इनिशियलाइज़ेशन निकालें (जो दो वर्गों को वैश्विक संस्करण साझा करेगा):

    BOOL myVar;
    -(void) init{
        myVar = NO;
    }
  3. इसे एक संपत्ति के रूप में घोषित करें:

    @property BOOL myVar;
  4. इसे @interface में एक उचित iVar के रूप में घोषित करें

    @interface myClass(){
        BOOL myVar;
    }
    @end


3

हाल ही में एक त्रुटि के स्रोत की तलाश में सिरदर्द था। मुझे आश्चर्य हुआ, जब मुझे पता चला कि मेरा ऐप संकलित नहीं करना चाहता है, बस इसलिए कि मैं अलग-अलग कक्षाओं में कोड स्निपेट का अनुसरण कर रहा था:

dispatch_time_t getDispatchTimeByDate(NSDate *date)
{
    NSTimeInterval interval;
    double second, subsecond;
    struct timespec time;
    dispatch_time_t milestone;


    interval = [date timeIntervalSince1970];
    subsecond = modf(interval, &second);
    time.tv_sec = second;
    time.tv_nsec = subsecond * NSEC_PER_SEC;
    milestone = dispatch_walltime(&time, 0);

    return milestone;
}

आशा है कि किसी की मदद कर सकते हैं।


छोटे सहायक समारोह, गलती से नकल, आसानी से अनदेखी - धन्यवाद!
स्टीवन ए। लोव

3

मुझे उम्मीद है कि यह निश्चित रूप से आपकी मदद करेगा

मुझे आर्किटेक्चर x86_64 के लिए एक ही त्रुटि 3 डुप्लिकेट प्रतीक मिले

मेरे मामले में मैंने उसी प्रोजेक्ट की एक और फ़ाइल से कोड कॉपी किया है। Bm में एम फ़ाइल का कोड और शिकायत के बाद मुझे उल्लेख के अनुसार एक त्रुटि मिली। और मैंने वैश्विक चर का नाम बदलकर त्रुटि हल की है।

यह त्रुटि मेरे मामले में दोनों फ़ाइल में वैश्विक चर के लिए एक ही घोषणा के कारण आई।


3

जब मैंने पॉड रिपॉजिटरी जोड़ी तो मुझे वही त्रुटि मिली

pod 'SWRevealViewController'

gitHub से पहले से जोड़े गए स्रोत कोड (SWRevealViewController) के लिए। तो, स्रोत कोड या पॉड रिपॉजिटरी को हटाकर त्रुटि को ठीक किया जाएगा।

केस # 2:

दूसरी बार, यह त्रुटि तब दिखाई दी जब मैंने .h फ़ाइल में एक स्थिर घोषित किया ।

NSString * const SomeConstant  = @"SomeValue";
@interface AppDelegate : UIResponder <UIApplicationDelegate> {
...
...

केस 2 ने मुझे एक रात बचाया। धन्यवाद!
पंकज यादव

3

ऊपर दिए गए जवाब मेरे काम नहीं आए। यहां बताया गया है कि मैं इसके आसपास कैसे मिला:

1) खोजक में, पूरे पॉड्स फ़ोल्डर और पॉडफाइल.लॉक 2 को हटाएं) xcode प्रोजेक्ट को बंद करें 3) टर्मिनल 4 में पॉड इंस्टॉल रन करें) xcode प्रोजेक्ट खोलें, क्लीन बिल्ड कमांड चलाएँ

उसके बाद मेरे लिए काम किया।


2

एक ही मुद्दा मेरे साथ होता है, जब मैं अपने प्रोजेक्ट के अंदर लॉब प्रोजेक्ट को एकीकृत कर रहा था।

यहां छवि विवरण दर्ज करें

दरअसल lob प्रोजेक्ट में AFNetworking फाइलें भी होती हैं, इसलिए मैं .m फाइल को lob प्रोजेक्ट से हटाता हूं।

यहां छवि विवरण दर्ज करें

वास्तव में .m फाइलें मेरे प्रोजेक्ट POd / AFNetworking / .m फाइलों के साथ परस्पर विरोधी हैं

यहां छवि विवरण दर्ज करें


2

Xcode में 6.3.2। मैंने नीचे की तरह सभी संभावना की जाँच की है

1: मैंने अपने प्रोजेक्ट में .m फ़ाइल आयात नहीं की है।

2: अन्य लिंकर ध्वज-ObjC से हटा दिया गया ।

3: मेरे सभी व्युत्पन्न डेटा को हटा दिया ।

अभी भी मुझे वही त्रुटि मिल रही है। मैंने .pchफ़ाइल से किसी भी चर घोषणा को हटाकर इस त्रुटि को हटा दिया है । मेरे मामले में, मैंने फ़ाइल AppDelegateमें ऑब्जेक्ट घोषित किया .pchहै। अंत में मुझे कारण मिला कि त्रुटि का कारण है। इसलिए मैं .pch फ़ाइल और मेरी परियोजना के आकर्षण से किसी भी चर की घोषणा को हटा देता हूं।


2

एक और मूर्खतापूर्ण गलती जो इस त्रुटि का कारण होगी, बार-बार फ़ाइलें हैं। मैंने गलती से दो बार कुछ फाइलें कॉपी की थीं। सबसे पहले मैं टारगेट पर गया -> बिल्ड चरणों -> संकलित स्रोत। वहाँ मैंने उस सूची पर दो बार और उनके स्थानों पर कुछ फाइलें देखीं।


मुझे नहीं पता कि किसी ने आपको क्यों अपमानित किया, इससे मेरी समस्या हल हो गई।
यवर

2

आज मेरी भी यह गलती है। क्योंकि मैंने .mएक .mफ़ाइल में एक कॉन्स्ट वैल्यू को परिभाषित किया है। लेकिन मैंने एक और फाइल को परिभाषित किया है, जिसमें यह कॉस्ट वैल्यू भी शामिल है। इसका मतलब यह है कि इसमें दो ही कॉस्ट वैल्यू हैं। इसलिए यह एरर दिखाई देता है। और मेरा समाधान " static" मान से पहले एक कीवर्ड जोड़ रहा है।

static CGFloat const btnConunt = 9;

और फिर मैं इस त्रुटि रिपोर्ट नहीं होगा परियोजना का निर्माण।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.