Frage

ich ein Objective-C-Projekt in XCode haben. Beim Bau, Vorkompilierung XCode mein Präfix PCH-Datei zweimal. Das erste Mal verwendet er die Argumente -x objective-c-header, und es funktioniert gut. Das zweite Mal, verwendet es -x c-header, und es scheitert (aufgrund der Datei Objective-C-Code enthält).

Ich habe ein anderes Projekt, das das gleiche oben gesetzt wird, aber es baut in Ordnung. (Der PCH wird einmal nur vorkompilierte, mit Objective C) verglichen ich die Build-Einstellungen für die beiden Projekte Seite an Seite, und nichts relevant unterscheiden. Ich verglich die Buildeinstellungen für die Ziele Seite an Seite, und wieder, keine relevanten Unterschiede.

Ich habe versucht, alle Ziele der Reinigung und Wiederaufbau, aber kein Glück. Ich habe versucht, neu zu starten XCode, aber kein Glück. Ich grep meinen Projektordner für c-header, sondern nur in den Build-Protokollen auftauchte.

Was könnte die Ursache sein?

War es hilfreich?

Lösung 2

Ich hasse meine eigene Frage zu beantworten, aber ich es herausgefunden. Ich Vorkompilieren den Prefix-Header deaktiviert zu sehen, ob das ich lassen würde weiterarbeiten. Der Build noch mit dem gleichen Fehler ausgefallen ist, aber es versäumte, wenn die Datei von einer C-Datei einschließlich ich vergaß ich in dem Projekt hatte. Offenbar ist die Existenz dieser C-Datei die Differenz zwischen diesem Projekt und andere. Nun, da ich weiß, was los ist, zog ich meinen Code innerhalb der #ifdef __OBJC__, und alles scheint in Ordnung.

Andere Tipps

Die PCH-Datei wird mehrmals umgebaut, weil es mehrere Sprachen in einem Projekt ist; einmal mit dem Ziel-C-Compiler und einmal mit der geraden C-Datei, so dass Sie Objective-C-Code außerhalb des ObjC hatte #ifdef und das verursachte die gerade C-Compiler hoark es das Mittagessen auf.

Wenn Sie eine C ++ Datei haben, dann würden Sie wahrscheinlich mit 3 PCH Compilations Ende (IIRC - schon eine Weile her, seit ich mit dem muckte).

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