2010-08-23 16 views
23
kompilieren

Ich versuche, die Cocoa plotting framework (Alpha Release 0.1) in meiner iPhone App zu implementieren.iPhone Compiler schlägt fehl: Keine Architekturen für

Ich dachte, ich würde zuerst versuchen, die Probe, die sie bereitstellen, zu starten. Ich habe versucht, das Projekt unter /Source/examples/CPTestApp-iPhone/ zu öffnen und zu kompilieren.

Es sagt, dass mein Basis-SDK von Anfang an fehlte, also habe ich die Projekteinstellungen und das aktive Ziel bearbeitet, um das iOS4-SDK zu verwenden, das ich vorher für Samples gemacht hatte. Ich bin mir nicht sicher, was ich tun soll. Ich betreibe eines der neuesten Unibody Macbooks mit 10.6.4.

Hier ist der vollständige Fehler:

// - start - // 

Check dependencies 

[BEROR]No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=i386, VALID_ARCHS=armv6 armv7). 

// - end - // 

Gedanken?

Antwort

33

Try this:

Projekteinstellungen Körperbau:

  • Architekturen: Standard (ARMv6 ARMv7)
  • Base-SDK: Die neueste iOS Erstellen Aktive
  • Architekturen Nur: Checked Valid
  • Architekturen: armv6 armv7

Löschen Sie alle Untereinstellungen in der Architektur-Build-Einstellung.

Ziel bauen Einstellungen:

  • Gleiche bei Projekteinstellungen.

Frameworks die SystemConfiguration.framework zu einem Projekt hinzufügen. - Ich bin mir nicht sicher, warum dies Auswirkungen hatte.

Reinigen Sie alle Ziele. Build für den Simulator.

Die lange Erklärung dafür finden Sie auf unserem Blog zu finden: http://longweekendmobile.com/2010/06/15/fixing-the-missing-required-architecture-arm-in-file-when-developing-for-ipad/

+0

Danke, nur um klar zu sein, bei Architekturen: stellen Sie sicher, es gibt keine Armv7s –

3

Sie haben als aktive Architektur "active arch = i386 (Ihr Mac)" gewählt, aber das Projekt kompiliert nach "VALID_ARCHS = armv6 armv7 (iPhone Device)", versuchen Sie, den richtigen Bogen in den Projekteinstellungen zu setzen für iPhone wie es sein sollte.

+1

Die Architektur plist Eintrag hat nur i386 aufgeführt, es ist kein Dropdown wie der Base SDK-Eintrag, so dass ich nicht sicher bin, wie das geht. – Josh

2

Dieses Projekt scheint iOS 4 vorzulaufen, Sie müssen also die Datei .xcodeproj für die Core Plot-Bibliothek selbst öffnen. Es hat wahrscheinlich auch einen fehlerhaften Verweis auf ein altes iOS-Basis-SDK und benötigt möglicherweise aktualisierte Architekturen.

+0

Ich habe die .xcodeproj-Datei geöffnet. Ich habe noch nicht einmal versucht, das in meiner App zum Laufen zu bringen, ich versuche immer noch, ihr Beispiel zu geben. Ich habe das SDK geändert, da es BASE SDK MISSING hieß. Ich habe versucht, 3.2 und 4.0, aber immer noch den Fehler für beide. – Josh

2

Dies passiert die ganze Zeit mit alten Projekten, die nach SDK 3.2/4.0 migriert wurden. Sie müssen die Zieleinstellungen öffnen und alles zu SDK 4.0 oder 3.2 ändern. Sie können das Ziel-Betriebssystem immer noch 3.0 haben, wenn Sie das wollen. Wenn immer noch "SDK fehlt" angezeigt wird, haben Sie es versäumt, eine dieser Einstellungen in 4.0 oder 3.2 zu ändern.

42

ich für das Ziel ging zu den Build-Einstellungen auch (en), die „i386“ die gültigen Architekturen gescheitert und hinzugefügt

4

Für mir war es, dass ich i386 zur VALID_ARCHS-Liste hinzufügen musste. Seltsam, aber es hat mein Problem für Simulator-Builds behoben.

See this post.

18

Hinzufügen von i386 auf die gültige Liste Architekturen arbeitete für mich!

+0

es funktioniert auch für mich. Was i386 bedeutet –

+0

ALso arbeitete für mich – Chaithanya

+1

i386 ist die Architektur für den iPhone-Simulator –

0

armv6 armv7, Arbeiten für mich in gültiger Architektur.

0

Wenn Sie alle Methode mit „NO SUCCESS“ versucht

  • Try Projekt auf Sie Gerät ausgeführt werden, wenn es auf dem Gerät funktioniert, dann wird es funktioniert auch auf Simulator in Ordnung.
Verwandte Themen