2016-03-24 4 views
0

Hallo nicht erkennen, blockieren begegne mir dieses seltsame Problem mit Xcode7, hier ist das, was ich getan habe:warum Standard Xcode Projekteinstellungen werden __cplusplus

ein neues Projekt erstellen, eine PCH-Datei hinzufügen, und in Build-Einstellungen des .pch-Datei als Precompile-Präfixdatei.

Added

#ifdef __cplusplus 
#import <somefile.hpp> 
#else 
#import <somefile.hpp> 
#endif 

in der PCH-Datei zu prüfen, ob Xcode __cplusplus Block gehen wird oder nicht, und hier ist Screenshot von Ergebnis:

enter image description here

Sie können sehen, dass es tat nicht zu __cpluscplus Block gehen.

Wer weiß, was ich tun soll, damit es __cplusplus Block erkennen?

+1

Ist die Kompilierungseinheit, die diesen Fehler erzeugt, eine '.m' oder' .mm' Datei? – fullofsquirrels

Antwort

2

Der Präfix-Header wird für jede Sprache erstellt, die Sie verwenden.

Für einige Dateien (.c, .m) wird es durch den #ifdef __cplusplus Teil gehen, für andere (.cpp, .mm) wird es nicht.

In den meisten Xcode-Vorlagen haben Sie die Datei main.m/main.c, die dazu führt, dass der #else-Teil kompiliert wird. Wenn Sie dem Projekt C++/ObjC++ - Quelldateien hinzufügen, wird ein mit __cplusplus erstelltes PCH verwendet.

+0

Oh ich verstehe es jetzt, danke! –

Verwandte Themen