Ich habe ein funktionierendes Xcode-Projekt, das Cocos2d in einer der Ansichten enthält. Ich muss jetzt Box2d hinzufügen. Ich habe versucht, den Box2D Ordner in den Libs Verzeichnis meiner cocos2d-2.x-ARC-iOS Ordner ziehen und das Hinzufügen zu diesem Ziel, aber ich bin immer das, wenn ich kompilieren:So fügen Sie Box2d zu einem vorhandenen Xcode/Cocos2d-Projekt hinzu
(in b2BroadPhase.cpp)
'Box2D/Collision/b2BroadPhase.h' file not found
Ich bin sicher, dass dies ist nur der erste von vielen Fehlern, die ich bekommen werde. Welchen Schritt vermisse ich, um alle Box2d-Dateien in meinem Projekt zu kompilieren?
Alle box2d-Dateien sind in den Kompilierquellen für das cocos2d-Bibliotheksziel aufgeführt.
Und warum ist das so schwer zu tun? Warum funktioniert es nicht wie jede andere Bibliothek?
UND - muss ich jede einzelne .m in meinem Projekt in .mm umbenennen? Das ist ziemlich unmöglich, da dies ein großes xcode-Projekt mit vielen Dateien ist. Ich versuche Box2d nur in einer Ansicht zu verwenden.
Zusätzliche Informationen als Antwort auf die Antwort von LearnCocos2D-
Meine Ordnerstruktur (im Finder) sieht wie folgt aus:
root = MyProject.xcodeproj, MyProject Ordner, cocos2d-2. x-ARC-iOS-Ordner Im Ordner cocos2d-2.x-ARC-iOS befindet sich ein Ordner namens libs. In diesem Ordner ich den Box2D Ordner, zusammen mit Cocos2d, CocosDenshion usw.
In XCode habe ich ein Projekt (MyProject) Und 2 -Ziele (cocos2d-Bibliothek, MyProject) Es gibt "Header-Suchpfade" für sowohl das PROJEKT, als auch die ZIELE. Welche stelle ich ein? Und sollte es rekursiv oder nicht sein? Und wenn ich den Box2D-Ordner in Xcode verschiebe, auf welches Ziel setze ich ihn?
Meine Projektdatei befindet sich unter/Users/me/Dropbox/iOS/MyProject. Was genau gebe ich für den Header Search Path ein? /Users/me/Dropbox/iOS/MyProject/cocos2d-2.x-ARC-iOS/libs scheint nicht zu funktionieren.
Ein weiteres Update - /Users/me/Dropbox/iOS/MyProject/cocos2d-2.x-ARC-iOS/libs als Header-Suchpfad im MyProject TARGET scheint mir vorbei an den Box2D Fehler zu bekommen. Dann hatte ich eine 'Cassert' Datei nicht gefunden Fehler. Durch Ändern des View-Controllers, dessen Elternelement und des AppDelegate zu einem Dateityp von "Objective-C++ Source", wie Sie es vorgeschlagen haben. Und jetzt ...
Jetzt habe ich eine Litanei von Fehlern in NSObjCRuntime.h NSZone.h, NSObject (Erwartete unqualifizierte-id, unbekannter Typ Name 'NSString', etc.). So scheint es, als ob Sie entweder eine App mit Box2d/Cocos2d oder eine UIKit App erstellen. Der Versuch, beides zu haben, ist ein kompletter Albtraum.
Vielen Dank für den Versuch zu helfen. Ich werde meinen aktuellen Versuch dazu in einer Bearbeitung meiner ursprünglichen Frage erläutern, da ich immer noch den gleichen Fehler erhalte. – soleil
Ich habe die Änderungen oben gemacht. Können Sie auch näher erläutern, wie ich überprüfen kann, ob der Suchpfad richtig ist? Ich habe diesen Teil deiner Antwort nicht verstanden. Vielen Dank! – soleil
Minus eine Ebene, da Box2D bereits den Box2D-Ordner im Suchpfad enthält, hat es endlich für mich funktioniert! Vergessen Sie nicht, den Suchpfad zwischen "" zu setzen, als ob Box2D in Ihrem Projektordner "$ (SRCROOT)" wäre. –