【问题标题】:Using Core Plot iPhone - Linker error使用 Core Plot iPhone - 链接器错误
【发布时间】:2011-04-16 08:36:19
【问题描述】:

当我尝试在我的项目中使用 Core Plot 时,我不断收到以下链接器错误...

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CPXYGraph", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  "_OBJC_CLASS_$_CPPlotRange", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  "_OBJC_CLASS_$_CPLineStyle", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  "_OBJC_CLASS_$_CPColor", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  "_OBJC_CLASS_$_CPScatterPlot", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  "_OBJC_CLASS_$_CPPlotSymbol", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  "_OBJC_CLASS_$_CPFill", referenced from:
      objc-class-ref in CorePlotImplViewController.o
  ".objc_class_name_NSNumber", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPBarPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPUtilities.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTradingRangePlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPieChart.o)
  ".objc_class_name_NSMutableDictionary", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTheme.o)
  ".objc_class_name_NSDecimalNumber", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPBarPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(NSNumberExtensions.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPUtilities.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlotRange.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxis.o)
      ...
  ".objc_class_name_NSMutableArray", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPBarPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPGraph.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTradingRangePlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPieChart.o)
  ".objc_class_name_NSArray", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPBarPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPGraph.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxisSet.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTheme.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTradingRangePlot.o)
      ...
  ".objc_class_name_NSException", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPBarPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPGraph.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPGradient.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPLayer.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPXYPlotSpace.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTheme.o)
      ...
  ".objc_class_name_NSNull", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPBarPlot.o)
  ".objc_class_name_NSValueTransformer", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPScatterPlot.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTradingRangePlot.o)
  ".objc_class_name_NSObject", referenced from:
      .objc_class_name_CPPlotSymbol in libCorePlot.a(CPPlotSymbol.o)
      .objc_class_name_CPPlotSpace in libCorePlot.a(CPPlotSpace.o)
      .objc_class_name_CPPlotRange in libCorePlot.a(CPPlotRange.o)
      .objc_class_name_CPFill in libCorePlot.a(CPFill.o)
      .objc_class_name_CPGradient in libCorePlot.a(CPGradient.o)
      .objc_class_name_CPImage in libCorePlot.a(CPImage.o)
      .objc_class_name_CPLineStyle in libCorePlot.a(CPLineStyle.o)
      ...
  ".objc_class_name_NSNotificationCenter", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPGraph.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPXYPlotSpace.o)
  ".objc_class_name_NSString", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPUtilities.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlotRange.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPLayer.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxis.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTextLayer.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxisLabel.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxisTitle.o)
      ...
  ".objc_class_name_NSScanner", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPUtilities.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxis.o)
  ".objc_class_name_NSLocale", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlotRange.o)
  ".objc_class_name_UIColor", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPPlatformSpecificCategories.o)
      pointer-to-literal-objc-class-name in libCorePlot.a(CPLayerHostingView.o)
  ".objc_class_name_NSMutableData", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPLayer.o)
  ".objc_class_name_CALayer", referenced from:
      .objc_class_name_CPLayer in libCorePlot.a(CPLayer.o)
  ".objc_class_name_NSMutableSet", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxis.o)
  ".objc_class_name_NSNumberFormatter", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxis.o)
      .objc_class_name_CPTimeFormatter in libCorePlot.a(CPTimeFormatter.o)
  ".objc_class_name_NSSet", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPAxis.o)
  ".objc_class_name_UIView", referenced from:
      .objc_class_name_CPLayerHostingView in libCorePlot.a(CPLayerHostingView.o)
  ".objc_class_name_NSDateFormatter", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTimeFormatter.o)
  ".objc_class_name_NSDate", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTimeFormatter.o)
  ".objc_class_name_UIFont", referenced from:
      pointer-to-literal-objc-class-name in libCorePlot.a(CPTextStylePlatformSpecific.o)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

知道我该如何解决这个问题吗?我已经尝试了两个多小时了...

我已经下载了其他示例,但我仍然遇到相同的链接器错误。

感谢任何帮助...

【问题讨论】:

  • 您是如何将框架添加到您的项目中的?
  • 我尝试了两种方式..使用SDK方法,也尝试使用静态库方法..两种方式都失败了同样的错误

标签: iphone linker-errors core-plot


【解决方案1】:

我遇到了和你一样的错误,我的问题是我没有添加 QuartzCore 框架(选择你的项目目标,展开“Link binaries with libraries”,点击“+”选择 QuartzCore.framework)。

【讨论】:

    【解决方案2】:

    这是在 xcode 4 中吗?您可能需要确保您拥有最新版本的核心情节。 Xcode 4 给我带来了问题,直到我下载了最新版本的 core-plot 并删除了以前的目录。

    我打开触摸项目并重建然后链接再次正常!

    【讨论】:

    • 是的.. 我昨天刚从网站上下载了 coreplot。如果有的话,可以把链接分享给我吗?
    【解决方案3】:

    从从谷歌代码下载的 zip 文件中添加 coreplotHeaders 库,并将 libCoreplot-CocoaTouch.a 添加到您的项目模板中。

    注意:添加时不要为添加的文件夹创建文件夹引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多