2012-04-08 5 views

Antwort

3

Es gibt absolut keine Probleme dabei, einfach die .mm Datei zum Projekt hinzufügen und XCode wird es als Objective-C++ kompilieren.

Der einzige Nachteil ist, dass die .h im Zusammenhang mit diesem ObjC++ Code nicht jedem C++ spezifischen Code oder jede Datei, in der die Header enthalten ist, muss .mm enthalten.

Dies ist, weil XCode verschiedene Compiler entsprechend der einzelnen Datei verwendet, wenn also eine .m gefunden wird, wird es versuchen, es als einfaches ObjC und nicht ObjC++ zu kompilieren. Sie können es mit dem ObjC++ - Compiler kompilieren, aber ich schlage vor, dass Sie dem beschriebenen Prinzip folgen oder andere Dateien in .mm umbenennen, nur um die Dinge nicht kompliziert zu machen.

+0

Dieser ceaveat ist kein Problem mit #ifdef __cplusplus und extern "C" – bioffe

+0

mit extern C können Sie die Hälfte der Probleme beheben. Ich bin kein Fanatiker von '#ifdef __cplusplus', obwohl ich denke, dass es eine Frage des persönlichen Geschmacks ist. Ich bevorzuge es, es zu vermeiden, um plumpe Situationen zu vermeiden. – Jack

Verwandte Themen