1

iOS チャート ライブラリを使用してプロジェクトを実行しようとすると、次のエラーが発生します。このコードは、iPhone5 および iPad2 で実行している場合はシミュレーターで正常に動作しますが、iPhone6 以降ではビルドに失敗します。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$__TtC6Charts12BarChartData", referenced from:
      objc-class-ref in SMWBarChartsViewController.o
      objc-class-ref in SMWBarGraphViewController.o
  "_OBJC_CLASS_$__TtC6Charts12PieChartData", referenced from:
      objc-class-ref in SMWPieChartsViewController.o
  "_OBJC_CLASS_$__TtC6Charts15BarChartDataSet", referenced from:
      objc-class-ref in SMWBarChartsViewController.o
      objc-class-ref in SMWBarGraphViewController.o
  "_OBJC_CLASS_$__TtC6Charts15PieChartDataSet", referenced from:
      objc-class-ref in SMWPieChartsViewController.o
  "_OBJC_CLASS_$__TtC6Charts17BarChartDataEntry", referenced from:
      objc-class-ref in SMWBarChartsViewController.o
      objc-class-ref in SMWPieChartsViewController.o
      objc-class-ref in SMWBarGraphViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

1 に答える 1

1

私は問題を解決することができました。有効なアーキテクチャに arm64 を含めました。問題は、このライブラリを既存の目的の c プロジェクトに統合しようとしていたことです。以前はコアプロットを使用していました。そのため、コア プロット ファイルが問題を引き起こしていました。コア プロット ファイルが含まれていた場合、iPhone6 でクラッシュしたため、arm64 を有効なアーキテクチャに含めることができませんでした。そのため、コア プロット ファイルを削除しただけで、すべてがスムーズに機能し始めました。

于 2016-03-07T09:44:48.653 に答える