Last week I was working on a project. Today, I reopened the project and tried to build it again. But I received an error message. I don’t understand why I got this message because I didn’t change anything of the project. (I’m using XCode 4.3 with storyboards)
Ld /Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Products/Debug-iphonesimulator/MySınav.app/MySınav normal i386
cd /Users/mete/Documents/MySınav
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Products/Debug-iphonesimulator -F/Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Products/Debug-iphonesimulator -filelist /Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Intermediates/MySınav.build/Debug-iphonesimulator/MySınav.build/Objects-normal/i386/MySınav.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -lsqlite3 -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Products/Debug-iphonesimulator/MySınav.app/MySınav
ld: duplicate symbol _counter in /Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Intermediates/MySınav.build/Debug-iphonesimulator/MySınav.build/Objects-normal/i386/examPaused.o and /Users/mete/Library/Developer/Xcode/DerivedData/MySınav-ceckdqzcfyfgicaqrhloynhdnglw/Build/Intermediates/MySınav.build/Debug-iphonesimulator/MySınav.build/Objects-normal/i386/examSelf.o for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The error message is pretty clear – you have two global symbols with the same name (
_counter) defined in both examPaused.o andexamSelf.o. This can happen because you have two global variables or non-static functions with the same name defined separately, or more commonly when you define something in a header file which then gets included/imported into two or more source files.