架构x86_64的重复符号

时间:2014-11-24 12:31:17

标签: ios objective-c xcode6 core-plot esri-arc-engine

在使用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)

2 个答案:

答案 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.hHomeVC.h中导入XYZ.h 所以,我只是将这个函数移动到该类的.m,因为它只在.m

中使用