在使用Core plot API和ESRI map Arc GIS API时,我遇到了重复的符号问题。 在我的应用程序中,我使用的是Core plot和ArcGIS API。为了提供对64位设备的支持,我已经为ArcGI(ESRI map)下载了新的API,并因此更新了64位的CorePlot API。在进行更改后,我面临问题:
错误说明在这里:
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)
如果有人遇到问题请建议。我无法弄清楚那些API中有什么重复这些两个正常工作(没有64位支持的OLD api)
答案 0 :(得分:8)
您可能已导入.m而不是.h文件
答案 1 :(得分:0)
您可能在.H文件中添加了任何Typedef函数,并在许多类中导入.H。
就我而言,这是一个问题,
ShadowASettings ShadowSettingsMake(CGSize shadowSize, CGFloat shadowOpacity, CGFloat shadowRadius){
ShadowASettings settings;
settings.shadowOffset = shadowSize;
settings.shadowOpacity = shadowOpacity;
settings.shadowRadius = shadowRadius;
return settings;
}
我在ABC.h
写了这个函数
然后我在ANC.h
和HomeVC.h
中导入XYZ.h
所以,我只是将这个函数移动到该类的.m,因为它只在.m