Ich hatte Probleme, c ++ und objective-c bei der Entwicklung einer iPhone App zu kombinieren. Ich hatte eine 3rd-Party-Bibliothek in der App zu verwenden. Ich hatte einen Plan, C oder C ++ zu verwenden, um die Bibliothek zu umhüllen, und dann Objective-C zu verwenden, um es aufzurufen. Nachdem ich die Klasse mit C ++ beendet hatte, hatte ich Schwierigkeiten, sie in objective-c zu verwenden. Gibt es einen Beispielcode? Danke.
in der Ziel-c-Kopfdatei. Ich schreibe
%Vor%und in der mm-Datei schreibe ich:
%Vor%Ist es schreiben?
Das Aufrufen von C ++ - Code aus Objective-C-Code beinhaltet das Beenden der Datei mit .mm (anstelle von .m), so dass der Objective-C ++ - Compiler verwendet wird.
Dieser Compiler kann sowohl C ++ als auch Objective-C verstehen.
Mit anderen Worten: Mit dem ObjC ++ - Compiler können Sie C ++ - Code direkt einfügen Objective-C-Methoden und umgekehrt.
Sehen Sie sich Cocoa_With_Carbon_or_CPP Beispiel und Strategien für die Verwendung von C ++ in Objective- C Projekte (und umgekehrt) Artikel.
In XCode gibt es ein Flag, um alle Dateien als Objective-C ++ zu kompilieren. Ich habe es verwendet, um große C ++ - Bibliotheken in iOS-Programme zu kompilieren.
Wenn Sie sich die "Build Settings" ansehen, gibt es einen Ort, der "Compile Sources As" geschrieben hat. Dort gibt es ein Dropdown-Menü, in dem Sie Objective-C ++ auswählen können. In der Befehlszeile clang / gcc denke ich, dass es "-x Ziel-C ++" ist.
Benennen Sie Ihre Datei einfach so um, dass sie die Erweiterung .mm
anstelle von .m
hat.
Um C ++ - Code mit Objective-C-Code zu mischen, benötigen Sie einen Compiler für Objective-C ++ .
XCode kompiliert standardmäßig .m
Dateien mit Objective-C Compiler und .mm
eins mit Objective-C ++ eins.
Tags und Links objective-c c++ ios xcode4.2