Ich möchte protobuf (https://code.google.com/p/protobuf/) in meinem Projekt verwendenCompile protobuf mit xCode 5
Haben Sie erfolgreich kompilieren protobuf mit xCode 5, Bitte helfen Sie Ihre Erfahrungen zu teilen?
Danke.
Ich möchte protobuf (https://code.google.com/p/protobuf/) in meinem Projekt verwendenCompile protobuf mit xCode 5
Haben Sie erfolgreich kompilieren protobuf mit xCode 5, Bitte helfen Sie Ihre Erfahrungen zu teilen?
Danke.
Wenn es Ihnen nichts ausmacht, Google Protobuf selbst zu erstellen, dann ist es eine gute Alternative zur Verwendung von Cocoapods, das Bash-Skript hier auszuführen.
https://gist.github.com/BennettSmith/7150245
Dieses Skript wird eine richtige Build von Google Protobuf produzieren, die die i386, ARMv7, armv7s, arm64 und x86_64-Architekturen unterstützt. Es wird eine statische Bibliothek erzeugen, die universell ist. Es wird auch den Protoc-Compiler für die Verwendung unter OS X erzeugen.
Sie können Unterstützung für Google-Protokollpuffer zu einem Xcode 5-Projekt hinzufügen, indem Sie Cocoapods verwenden, indem Sie die folgende Zeile zu Ihrer Poddatei hinzufügen.
pod 'GoogleProtobuf', '~> 2.5.0'
Dies wird die C++ - Version des Protobuf-Code in eine Pod für Ihr Projekt legen. Es fügt auch den protoc
Compiler in dem Ordner Pods/GoogleProtobuf/bin/protoc
innerhalb Ihres Projekts hinzu.
Sie können in Ihrem Projekt eine benutzerdefinierte Erstellungsregel erstellen, die die .proto
Dateien automatisch in .ph.{h,cc}
Dateien konvertiert. Hier ist, wie ich das gemacht habe:
Richten Sie eine Erstellungsregel auf "Prozess Quelldateien mit Namen, die übereinstimmen: * .proto Using Custom Script". Das Skript sollte die folgenden Angaben enthalten:
$(INPUT_FILE_DIR)/cpp/$(INPUT_FILE_BASE).pb.h
$(INPUT_FILE_DIR)/cpp/$(INPUT_FILE_BASE).pb.cc
Alle .proto
Dateien, die Sie in Ihrem Projekt nun auf C automatisch konvertiert werden ++ und dann als Teil zusammengestellt:
cd ${INPUT_FILE_DIR}
${SRCROOT}/Pods/GoogleProtobuf/bin/protoc --proto_path=${INPUT_FILE_DIR} ${INPUT_FILE_PATH} --cpp_out=${INPUT_FILE_DIR}/cpp
Stellen Sie die Ausgabedateien, schließen Folgendes ein von deinem Build.
Danke! Ich werde es versuchen. –
Ich habe hier ein Problem mit der Lösung entdeckt. Der Build, der in der Cocoapod ausgeführt wird, ist nur aus dem iOS-Simulator verwendbar. Ich arbeite an einer Lösung für dieses Problem. Für den Moment könnten Sie die andere Methode verwenden, die ich in einer alternativen Antwort unten gepostet habe. –
Hallo Smith, ich habe protobuf (2.4.1) mit CocoaPods für iPad gebaut und es funktioniert. Ich werde mir Ihre neue Lösung ansehen. Vielen Dank! –
Dieses Skript funktioniert wie ein Zauber. Vielen Dank!!! –
Ich frage mich nur, ob dieses Skript für Protobuf 2.4.1 funktioniert? Kann ich den Build für x86_64 entfernen (nur für iOS). –
Ich bin mir nicht sicher über 2.4.1. Gibt es einen bestimmten Grund, diese Version anstelle des neueren 2.5.0 zu verwenden? –