Reputation: 1103
I am facing duplicate symbols issue during use of Core plot API and ESRI map Arc GIS API. In my app I am using Core plot and ArcGIS API. To provide support for 64 bit device, I have download new API for ArcGI (ESRI map) and accordingly update CorePlot API for 64 bit. After making changes I am facing issue:
error description are here:
duplicate symbol _squareOfDistanceBetweenPoints in:
/Users/xxxx/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/ArcGIS(AGSCPTUtilities.o)
/Users/xxxx/Desktop/18 Nov/SCM_iPad/SCM/CorePlot/coreplot_new.a(CPTUtilities.o)
duplicate symbol _niceNum in:
/Users/xxxx/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/ArcGIS(AGSCPTAxis.o)
/Users/xxxx/Desktop/18 Nov/SCM_iPad/SCM/CorePlot/coreplot_new.a(CPTAxis.o)
duplicate symbol _CreateRoundedRectPath in:
/Users/xxxx/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/ArcGIS(AGSCPTPathExtensions.o)
/Users/xxxx/Desktop/18 Nov/SCM_iPad/SCM/CorePlot/coreplot_new.a(CPTPathExtensions.o)
duplicate symbol _AddRoundedRectPath in:
/Users/xxxx/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/ArcGIS(AGSCPTPathExtensions.o)
/Users/xxxx/Desktop/18 Nov/SCM_iPad/SCM/CorePlot/coreplot_new.a(CPTPathExtensions.o)
duplicate symbol _MyCGPathApplierFunc in:
/Users/xxxx/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/ArcGIS(NSCoderExtensions.o)
/Users/xxxx/Desktop/18 Nov/SCM_iPad/SCM/CorePlot/coreplot_new.a(NSCoderExtensions.o)
ld: 5 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
If anyone face issue please suggest. I am unable to figure out what is duplicate in those API Earlier these two working fine (OLD api without 64 bit support)
Upvotes: 1
Views: 7910
Reputation: 5023
You might have added any Typedef function in .H file and have imported .H in many classes.
In my case it was an issue,
ShadowASettings ShadowSettingsMake(CGSize shadowSize, CGFloat shadowOpacity, CGFloat shadowRadius){
ShadowASettings settings;
settings.shadowOffset = shadowSize;
settings.shadowOpacity = shadowOpacity;
settings.shadowRadius = shadowRadius;
return settings;
}
I wrote this function in ABC.h
and then I imported ANC.h
in my HomeVC.h
and XYZ.h
So, then I simply move this function to .m of that class as it was only used in .m
Upvotes: 0