2010-07-31 13 views
5

में डुप्लिकेट प्रतीक त्रुटि त्रुटि जब मैं अपनी प्रोजेक्ट बनाने का प्रयास करता हूं तो मुझे निम्न त्रुटि मिलती है।XCode प्रोजेक्ट

ld: डुप्लिकेट प्रतीक /Users/gin/Documents/development/GLFun/build/GLFun.build/Debug-iphonesimulator/GLFun.build/Objects-normal/i386/GLFunView-7A51E8797CBB3D72 में .objc_class_name_GLFunView। ओ और /Users/gin/Documents/development/GLFun/build/GLFun.build/Debug-iphonesimulator/GLFun.build/Objects-normal/i386/GLFunView-7A51E8797CBB3D72.o

इस त्रुटि क्या है के बारे में? मैं कैसे ट्रैक कर सकता हूं कि त्रुटि कहां है? एक्सकोड आमतौर पर उस कोड को हाइलाइट करता है जिसमें समस्याएं होती हैं, लेकिन इस त्रुटि के लिए यह कुछ भी नहीं दिखा रहा है? इंटरफ़ेस बिल्डर के साथ इसका कोई संबंध नहीं है?

मेरा शोध इंगित करता है कि यह दो बार शामिल करने के कारण हो सकता है, लेकिन मुझे नहीं पता कि यह कैसे संभव है क्योंकि मैं किसी भी # अंतर्निहित कथन का उपयोग नहीं कर रहा हूं, मैं केवल # आयात विवरणों का उपयोग कर रहा हूं।

यहाँ निर्माण उत्पादन के कुछ और भी है:

Ld निर्माण/डीबग-iphonesimulator/GLFun.app/GLFun सामान्य i386 सीडी /उपयोगकर्ताओं/जिन/दस्तावेज़/विकास/GLFun setenv MACOSX_DEPLOYMENT_TARGET 10.5 सेटनव पाथ "/ डेवलपर/प्लैटफॉर्म/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /डेवलपर/प्लेटफ़ॉर्म/आईफोन सिम्युलेटर .platform/डेवलपर/usr/bin/gcc-4.2 -arch i386 -isysroot/डेवलपर /Platforms/iPhoneSimulator.platform/D लिफाफा/एसडीके/आईफोन सिम्युलेटर 3.1.3.sdk -L/उपयोगकर्ता/जीन/दस्तावेज़/विकास/जीएलएफन/बिल्ड/डीबग-आईफ़ोनसिलेटर -एफ/उपयोगकर्ता/जिन/दस्तावेज़/विकास/जीएलएफन/बिल्ड/डीबग-आईफ़ोनसिलेटर -फाइललिस्ट /Users/gin/Documents/development/GLFun/build/GLFun.build/Debug-iphonesimulator/GLFun.build/Objects-normal/i386/GLFun.LinkFileList -mmacosx-version-min = 10.5 -framework फाउंडेशन-फ्रेमवर्क UIKit - ढांचा CoreGraphics -framework OpenGLES -framework QuartzCore -ओ /Users/gin/Documents/development/GLFun/build/Debug-iphonesimulator/GLFun.app/GLFun

+1

तुम कुछ दो बार क्योंकि रास्तों समान हैं, जिनमें किया जाना चाहिए .. यह कहना है "से शामिल" किसी में मैंने गलती से शीर्ष लेख के बजाय .m फ़ाइल शामिल निर्माण आउटपुट का? – jtbandes

+0

में लिंकर त्रुटियों का लगभग कभी भी कारण नहीं है। यदि आपके पास हेडर फ़ाइल में '@ कार्यान्वयन' है तो यह एकाधिक द्वारा ट्रिगर किया जा सकता है ... लेकिन यदि ऐसा है, तो आपको अन्य समस्याएं हैं। –

+0

मैंने @ प्रोजेक्शन के लिए पूरी परियोजना की खोज की और इसका एक उदाहरण नहीं मिला। –

उत्तर

3

मेरा अनुमान है आप GLFunView दो बार @implementing रहे है एक ही फ़ाइल में (GLFunView.m)। शायद आप GLFunView को लागू करना चाहते थे और फिर उस पर एक श्रेणी लागू करना चाहते थे, और श्रेणी का नाम भूल गए?

+0

GLFunView.m में कोई @ पूरक नहीं है। –

+0

नहीं, लेकिन कम से कम एक '@ कार्यान्वयन' है। यदि आपके पास 2 @ कार्यान्वयन GLFunView लाइनें हैं, तो आप कक्षा को दो बार कार्यान्वित कर रहे हैं। यदि आपके पास ऐसा है, तो शायद एक '@ कार्यान्वयन GLFunView (कुछ श्रेणी) 'होना था? –

+0

या शायद, जैसा कि मैंने उपर्युक्त टिप्पणी में उल्लेख किया है, आपके GLFunView.h में कहीं भी @ @ कार्यान्वयन GLFunView' है? –

23

आज मैं एक ही समस्या में भाग गया। यह #import कथन में एक टाइपो साबित हुआ।

#include "MyClass.m" 
बजाय

:

#include "MyClass.h"