Wie verwende ich Boost mit Cocoapods auf IOS?

9

Hat es jemand geschafft, Cocoapods mit dem Boost-Pod zu verwenden?

Ich verstehe nicht, dass es nicht vollständig zu installieren scheint. Nach pod Install in ein leeres Projekt bekomme ich das Folgende. Gibt es einen Schritt, den ich vermisse?

Dies ist die Ausgabe von meiner Installation

pod install --verbose

%Vor%     
Ryan Heitner 01.04.2015, 13:13
quelle

1 Antwort

2

Warum ist der Pod nicht aufgelistet?

Dies ist ein Artefakt von boost , das kein Xcode-Projekt ist, sondern nur ein Satz von Dateien. Darüber hinaus finden Sie das boost innere Verzeichnis in ${PODS_ROOT}/boost , das im Header-Suchpfad von Build-Einstellungen referenziert wird. Das ist es, was Sie mit dem Pod erreichen.

Pod & amp; Boost-Hierarchie

Die Verschachtelung von boost in ../Pods/boost/boost ist erforderlich, damit die Dateien in der Bibliothek auf sich selbst verweisen können wie in:

%Vor%

Wenn Sie den Vorgang abgeschlossen haben: (Die boost -Bibliothek ist weit über 100 MB, wenn gezippt)

%Vor%

... Während Sie es in Ihrem Projekt nicht sehen, finden Sie es im Quellbaum:

Sie können darauf verweisen:

%Vor%

und beginnen, andere dringende Probleme zu behandeln, wie das Auffinden von #include <cstdlib> , was ein ganz anderes Thema ist.

Objective-C ++ - Zusammenstellung

Um boost zu kompilieren, was eine C ++ Bibliothek ist, müssen Sie explizit von C ++ Quelldateien darauf verweisen (nicht C sources, die standardmäßig in .m ) verwendet werden, oder übernehmen alternative Lösungen, die in Kompilieren einer C ++ - Klasse in Xcode: Fehler beim Kompilieren: stl-Vektor .

Fügen Sie aus einer .mm -Datei diese beiden Testzeilen ein:

%Vor%

Für dieses Beispiel habe ich main.m in main.mm umbenannt. Da Pod keine .ipp -Dateien importiert hat, könnten Sie NO_BOOST_DATE_TIME_INLINE=1 in Präprozessor-Makros in Build-Einstellungen hinzufügen. Auf diese Weise erhalten Sie ungefähr ein Dutzend Warnungen, wie die unten stehende, und eine erfolgreiche Kompilierung ohne manuellen Import.

  

Implizite Konvertierung verliert die ganzzahlige Genauigkeit: 'long' bis 'hour_type' (aka 'int')

Bearbeiten: löschte einen nicht relevanten manuellen Import, nicht erforderlich

SwiftArchitect 13.08.2015, 22:19
quelle

Tags und Links