Frage

Ich habe gerade eine Kernplotansicht zu meiner Anwendung auf der Grundlage eines Tutorials hinzugefügt (http://www.switchonthecode.com/tutorials/using-core-plot-in-iPhone-application). Ich habe den Core -Plot -Zeichnungscode in die FensterdIDLoad -Methode des Fenstercontrollers für das Fenster eingefügt, in dem ich die CPlayerHostingView eingeschlossen habe. Der Code für das Diagramm lautet:

CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-6) 
                                               length:CPDecimalFromFloat(12)];
plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(-5) 
                                               length:CPDecimalFromFloat(30)];

CPXYAxisSet *axisSet = (CPXYAxisSet *)graph.axisSet;

CPLineStyle *lineStyle = [CPLineStyle lineStyle];
lineStyle.lineColor = [CPColor blackColor];
lineStyle.lineWidth = 2.0f;

axisSet.xAxis.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@"5"] decimalValue];  
axisSet.xAxis.minorTicksPerInterval = 4;
axisSet.xAxis.minorTicksPerInterval = 4;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.minorTickLineStyle = lineStyle;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.minorTickLength = 5.0f;
axisSet.xAxis.majorTickLength = 7.0f;
axisSet.xAxis.axisLabelOffset = 3.0f;

axisSet.yAxis.majorIntervalLength = [[NSDecimalNumber decimalNumberWithString:@"5"] decimalValue];  
axisSet.yAxis.minorTicksPerInterval = 4;
axisSet.yAxis.minorTicksPerInterval = 4;
axisSet.yAxis.majorTickLineStyle = lineStyle;
axisSet.yAxis.minorTickLineStyle = lineStyle;
axisSet.yAxis.axisLineStyle = lineStyle;
axisSet.yAxis.minorTickLength = 5.0f;
axisSet.yAxis.majorTickLength = 7.0f;
axisSet.yAxis.axisLabelOffset = 3.0f;

CPScatterPlot *xSquaredPlot = [[[CPScatterPlot alloc] 
                                initWithFrame:graph.defaultPlotSpace.bounds] autorelease];
xSquaredPlot.identifier = @"X Squared Plot";
xSquaredPlot.dataLineStyle.lineWidth = 1.0f;
xSquaredPlot.dataLineStyle.lineColor = [CPColor redColor];
xSquaredPlot.dataSource = self;
[graph addPlot:xSquaredPlot];

Wenn ich baue, bekomme ich die folgenden Fehler:

".OBJC_CLASS_NAME_CPPLOTRANGE", verwiesen aus: literal-pointer @__ OBJC @__ CLS_REFS@CPPLOTRANGE IN HistogramWindowController.o

"_CpDecimalfromfloat", in Bezug auf: -[HistogramwindowController -FensterdidaD] in HistogramwindowController.O -[HistogramwindowController WindowDidDload] In HistogramwindowController.O [HistogramwindowController -Windows -Lob] in Histogram] In HistogramWindoWrolDoWController -Windows -Lob.

".OBJC_CLASS_NAME_CPLINESTYLE", verwiesen aus: literal-pointer @__ objc @__ cls_refs@cplinestyle in histogramwindowcontroller.o

".OBJC_CLASS_NAME_CPXYGRAPH", verwiesen aus: literal-pointer @__ objc @__ cls_refs@cpxygraph in histogramwindowcontroller.o

".objc_class_name_cpscatterplot", verwiesen aus: literal-pointer @__ objc @__ cls_refs@cpscatterplot in histogramwindowcontroller.o

".OBJC_CLASS_NAME_CPPLOTSYMBOL", verwiesen aus: buchstäblich-pointer @__ objc @__ cls_refs@cpplotsymbol in histogramwindowcontroller.o

".OBJC_CLASS_NAME_CPCOLOR", in Bezug auf: literal-pointer @__ objc @__ cls_refs@cpcolor in histogramwindowcontroller.o

".OBJC_CLASS_NAME_CPFILL", verwiesen aus: literal-pointer @__ objc @__ cls_refs@cpfill in histogramwindowcontroller.o

LD: Symbol (n) nicht gefunden Collect2: LD gab 1 Exit -Status zurück

Ich habe noch nie auf einen solchen Fehler gestoßen. Kann jemand ein Licht darüber werfen, was das Problem sein könnte?

Prost

War es hilfreich?

Lösung

Es bedeutet, dass Sie im Framework nicht richtig verknüpft sind. Sie haben wahrscheinlich gerade das Framework Ihrem Projekt hinzugefügt. #importED den Header, habe aber vergessen, sicherzustellen, dass das Framework tatsächlich mit Ihrem Ziel verknüpft wird.

Andere Tipps

Es gibt einige Anweisungen zu Diese Wiki -Seite für die Einbeziehung des Frameworks in MAC -Projekte. Wenn Sie diese befolgen, sollten Sie in der Lage sein, Probleme bei der Verknüpfung im Rahmen zu vermeiden.

Ich habe genau die gleichen Linkfehler erlebt. Für mich war das Problem, dass ich versuchte, meine Anwendung im Simulator auszuführen. Ich weiß nicht, ob ich irgendwo etwas verpasst habe, aber ich konnte nur auf einem Gerät laufen. Sobald ich damit begann, keine Linkfehler.

Sie können auch überprüfen Datei (1) Befehl für den letzten Teil). Wenn Sie Ihre App mit 64-Bit-Unterstützung erstellen, aber versuchen, mit einem Framework zu verknüpfen, das nicht 64-Bit-Unterstützung hat, wirft der Linker solche Fehler auf, wenn er versucht, den 64-Bit-Teil Ihrer App zu verknüpfen , während die 32-Bit-Teile erfolgreich sein werden.

Stellen Sie sicher, dass Sie auch das Quarzcore -Framework hinzufügen. Dies hat meine Verknüpfungsfehler behoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top