Linker command failed: duplicate symbol for architecture i386 - ios

I added the XYPieChart folder into my Swift project on XCode 6 but now I'm getting this "Apple Mach-O Linker Error":
duplicate symbol _main in:
/Users/ansariha/Library/Developer/Xcode/DerivedData/Juxta-bjrfrzoyetsowibjdgpcxtesgwtg/Build/Intermediates/Juxta.build/Debug-iphonesimulator/Juxta.build/Objects-normal/i386/AppDelegate-EE692B7EDFB39C7A.o
/Users/ansariha/Library/Developer/Xcode/DerivedData/Juxta-bjrfrzoyetsowibjdgpcxtesgwtg/Build/Intermediates/Juxta.build/Debug-iphonesimulator/Juxta.build/Objects-normal/i386/main.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Below that it says "1 duplicate symbol for architecture i386" and then below that, the error: "Linker command failed with exit code 1 (use -v to see invocation)".
Has anyone ever seen this before?

Go to your project Bundle in xcode -> Build Phases -> Compile Sources
Check whether one of the files are added twice or not. This might be the case where such things happen.
Your AppDelegate might be added twice. Remove one of them.
Updated:
Some time you accidentally importing the .m file instead of the .h due to which this error comes. Please check and If this is not the reason, then perform the following steps
1- Check Build phases in Target settings.
2- Go to compile source section.
3- Check if any file exists twice or once.
4- If file exist twice delete one.
5- Build again.

This error occurs duplication of file in your project. click on The Project Navigator and search Duplicate file. in your project duplication of Appdelegate class or main. Remove one of file from your project.

Related

duplicate symbol '_lprofMergeValueProfData'

I'm developing a framework "CurrentFramework" with a dependency "Dependency1", it works fine with running the example project, building the framework and testing.
but when i want to gather code coverage for the framework the following error occurs:
duplicate symbol '_lprofMergeValueProfData' in:
/directory/Documents/CurrentFrameworkProject/Pods/Dependency1/Dependency1.framework/Dependency1
/directory/Library/Developer/Xcode/DerivedData/CurrentFramework-hhnbyyjwzomjgjasdrewahvxlmyq/Build/Products/Debug-iphonesimulator/CurrentFramework.framework/CurrentFramework
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I tried doing this with 3 other frameworks importing "Dependency1", only 1 of them can get the code coverage data without error.
Some people suggested to check if i imported a ".m" instead of a ".h" somewhere but i don't think thats the case(i checked all the files)
This might not be the best answer, but here's some workaround i've done.
Make a file to store excluded symbol (_lprofMergeValueProfData). In this example i name it hidden_list.
hidden_list
Put the file on project root directory.
In your Xcode Project, Go to your Target and search Unexported Symbols File in Build Settings. add your file name containing list to exclude (hidden_list).
excluded_symbols
Run your project again, the error should be gone.

Xcode 7 build failed: ld: library not found for -lGoogleAnalyticsServices

Every time when I open my app with Xcode I get this error:
ld: library not found for -lGoogleAnalyticsServices
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Then I need to unmark the target on the libGoogleAnalyticsServices.a file and mark it on again. After the uncheck/check of the target the app runs normally...
I get 2 other warning when this happens:
ld: warning: directory not found for option '-L/Users/vision/Documents/Apps/Mijn Cijfers/Mijn'
ld: warning: directory not found for option '-LCijfers'
Now this looks like Xcode can't read spaces and looks for a new directory called Cijfers. My app is called: Mijn Cijfers, but I never had this problem before with spaces in my project name.
Every time when I check/uncheck the target of libGoogleAnalyticsServices.a the Library Search Path is adding new rows:
I think both cases has to do something with the warnings and errors that I get. It's really annoying to remove the Library Search Paths and check/uncheck the target to let my app run normally. -.-
Does anyone know a solution to solve this odd bug?
You need to delete all these path except the "$inherited" and then add Google Analytics library path (Drag the folder where you saved the library).
If you follow this then you don't need to recheck/uncheck the library path.
If you have just created pod file by running $ pod init command in terminal,
then just close project and Open projectName.xcworkspace instead of projectName.xcodeproj
which will not throw error -lxyzLibray eg. -lJSONModel not found.
Now compile and debug again It will work.

XCode 6.4 linker command failed with exit code 1 (use -v to see invocation)

I have been having a linker command problem and can't seem to resolve it. Normally cleaning the project and rebuilding fixes it, or deleting the derived data but this time it will not build.
The file PTKCard should no longer exist so I am not sure why it is mentioning those in the error. Some guidance would be greatly appreciated.
ld: warning: Auto-Linking supplied '/Users/rgainous/Documents/FacebookSDK/FBSDKCoreKit.framework/FBSDKCoreKit', framework linker option at /Users/rgainous/Documents/FacebookSDK/FBSDKCoreKit.framework/FBSDKCoreKit is not a dylib
ld: warning: Auto-Linking supplied '/Users/rgainous/Documents/FacebookSDK/Bolts.framework/Bolts', framework linker option at /Users/rgainous/Documents/FacebookSDK/Bolts.framework/Bolts is not a dylib
duplicate symbol _OBJC_METACLASS_$_PTKCard in:
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libPaymentKit.a(PTKCard.o)
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libStripe.a(STPPaymentCardTextField.o)
duplicate symbol _OBJC_CLASS_$_PTKCard in:
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libPaymentKit.a(PTKCard.o)
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libStripe.a(STPPaymentCardTextField.o)
duplicate symbol _OBJC_CLASS_$_PTKView in:
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libPaymentKit.a(PTKView.o)
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libStripe.a(STPPaymentCardTextField.o)
duplicate symbol _OBJC_METACLASS_$_PTKView in:
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libPaymentKit.a(PTKView.o)
/Users/rgainous/Library/Developer/Xcode/DerivedData/Runn-fvmsldafsswpesagnpiepcisxrtq/Build/Products/Debug-iphonesimulator/libStripe.a(STPPaymentCardTextField.o)
ld: 4 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Try deleting your derived data. And then clean build then build again.
Solution 1
You need to do this:
Click on your project (targets)
Click on Build Settings
Under Library Search Paths, delete the paths
May be this will help you.
Solution 2
You have duplicate symbol method which means there are duplicate file in project
In your Target's Build Phase, under "Compile Sources" check if there are duplicate file and delete one if you have duplication.
Hope this will help you.

Duplicate sybmol [SOAPEngine-iOS]

what is the problem here, it builds with real iphone device but when I want to build/run it with iPhone Simulator it show like this
duplicate symbol _DictionaryForNode in:
/Users/**/Library/Developer/Xcode/DerivedData/**-gfeynokufbufhkgjzjzwlijxekpb/Build/Intermediates/**.build/Debug-iphonesimulator/**.build/Objects-normal/i386/XPathQuery.o
/Users/**/Downloads/SOAPEngine-master/SOAPEngine64.framework/SOAPEngine64(SOAPXPathQuery.o)
duplicate symbol _PerformXPathQuery in:
/Users/**/Library/Developer/Xcode/DerivedData/**-gfeynokufbufhkgjzjzwlijxekpb/Build/Intermediates/**.build/Debug-iphonesimulator/**.build/Objects-normal/i386/XPathQuery.o
/Users/**/Downloads/SOAPEngine-master/SOAPEngine64.framework/SOAPEngine64(SOAPXPathQuery.o)
ld: 2 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
FYI: there is no .m import or duplicate files in Build Phase
Select the target and check out Build Phases. Make sure the same file isn't listed more than once.
if you have XPathQuery.h/m in your project, in SOAPEngine it is already integrated, you need to remove only XPathQuery.m from your project, leave only XPathQuery.h, in the next version of SOAPEngine we'll fix this problem, please open an issue on GitHub for it.

Duplicate symbol error in Xcode Build

duplicate symbol _OBJC_IVAR_$_MainPageScreenCollectionReusableView._mainPageScreenHeaderLabel in: /Users/bharathbalaraj/Library/Developer/Xcode/DerivedData/SentientiOS-anuolaqayswdbzakppukvtjatylz/Build/Intermediates/SentientiOS.build/Debug-iphonesimulator/SentientiOS.build/Objects-normal/x86_64/MainPageScreenCollectionReusableView-9480B7CE5B075E6A.o
duplicate symbol _OBJC_METACLASS_$_MainPageScreenCollectionReusableView in: /Users/bharathbalaraj/Library/Developer/Xcode/DerivedData/SentientiOS-anuolaqayswdbzakppukvtjatylz/Build/Intermediates/SentientiOS.build/Debug-iphonesimulator/SentientiOS.build/Objects-normal/x86_64/MainPageScreenCollectionReusableView-9480B7CE5B075E6A.o
duplicate symbol _OBJC_CLASS_$_MainPageScreenCollectionReusableView in: /Users/bharathbalaraj/Library/Developer/Xcode/DerivedData/SentientiOS-anuolaqayswdbzakppukvtjatylz/Build/Intermediates/SentientiOS.build/Debug-iphonesimulator/SentientiOS.build/Objects-normal/x86_64/MainPageScreenCollectionReusableView-9480B7CE5B075E6A.o
ld: 3 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ..
I am getting this error when I compile in xcode. Not sure how this is coming. Does anyone have a clue what is going on here?
You have added to the project same file multiple times. This usually happens when you add file to project, remove and then add it again.
The file causing this issue is MainPageScreenCollectionReusableView.
To resolve this issue go to Target-> Build phases-> in search field enter MainPageScreenCollectionReusableView and remove red ones.
I had similar error and it was #import loop (explained here)
You may need to change few #imports in .h files to #class and make actual #imports in .m files.

Resources