Hallo liebe ZFX Community,
seit gestern arbeite ich mich in die Assimp Library ein. Unter Windows habe ich bereits ein Model erfolgreich in DirectX 11/C++ geladen und wird auch schon gezeichnet. Jetzt wollte ich als nächstes das selbe für iOS in XCode programmieren! Nur leider schaffe ich es nicht die Assimp Libarary einzubinden...
Ich bekomme die Fehlermeldung:
Apple Mach-O Linker (id) error "Assimp::Importer::ReadFile(char const*, unsigned int)", referenced from:
usw..
Ich habe mit Hilfe von cmake mir ein Assimp.xcodeproj erstellen können - es anschließend geöffnet und mir unter TARGETS eine neue iOS/Framework&Library Coca Touch Static Libary(assimpStaticLib) erstellt. Wenn ich jetzt aber in den assimpStaticLib.build Ordner gehe, finde ich dort nur eine assimpStaticLib.dat und assimpStaticLib.dep Datei. Ich denke aber ich brauch eine .so Datei.
Mein zweiter Versuch war es, das Assimp.xcodeproj in mein aktuelles Projekt einzufügen und es unter Targets/Build Phases -> Target Dependencies (assimpStaticLib (Assimp))
zu adden. Ich kann Assimp zwar kompilieren, bekomme aber den Linker Error wie oben beschrieben in meinem Projekt.
Könnt ihr mir bitte weiter helfen? Hab leider keine Idee wie ich das anders machen könnte - kenne mich leider unter XCode/iOS noch nicht so gut aus....
Danke!
Assimp mit iOS/xCode
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp mit iOS/xCode
.so steht für Shared-Object-Lib und wird in dem Ordner für die statische Library nicht zu finden sein. Linke einfach die statische Lib zu deinem Projekt, das sollte reichen. Eine Shared-Object-Lib musst du dir wahrscheinlich unter XCode erst einmal erstellen lassen. Irgendwo sollte dort ein zugehöriger Schalter zu finden sein.
Gruß Kimmi
Gruß Kimmi
-
- Beiträge: 5
- Registriert: 19.09.2011, 22:24
Re: Assimp mit iOS/xCode
Danke für deine Antwort!
Ich möchte eigentlich schon eine statische Library verwenden - dynamische sind ja zum Beispiel nicht mal auf iOS erlaubt...
Wenn ich das Projekt mit cmake erstelle, kann ich es in xCode 4.1.1 kompilieren - jedoch nur mit assimp-> My Mac 32 bit und assimpt -> My Mac 64 bit. Aber mit den zwei erstellen Libraries kann ich leider in meinem iOS Projekt nichts anfangen...
Deshalb erstelle ich unter assimp-> Targets: eine Cocoa Touch Static Library(assimpStaticLib). Wenn ich dieses Target kompiliere, bekomme ich aber eine Fehlermeldung:
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1
Unter den Preprocessor Macros hab ich ASSIMP_BUILD_NO_COMPRESSED_X und ASSIMP_BUILD_BOOST_WORKAROUND eingetragen.
Was mach ich denn falsch? Ich hab schon alles mögliche probiert und auch gesucht, aber irgendwie komme ich leider nicht auf den Fehler...
Ich möchte eigentlich schon eine statische Library verwenden - dynamische sind ja zum Beispiel nicht mal auf iOS erlaubt...
Wenn ich das Projekt mit cmake erstelle, kann ich es in xCode 4.1.1 kompilieren - jedoch nur mit assimp-> My Mac 32 bit und assimpt -> My Mac 64 bit. Aber mit den zwei erstellen Libraries kann ich leider in meinem iOS Projekt nichts anfangen...
Deshalb erstelle ich unter assimp-> Targets: eine Cocoa Touch Static Library(assimpStaticLib). Wenn ich dieses Target kompiliere, bekomme ich aber eine Fehlermeldung:
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1
Unter den Preprocessor Macros hab ich ASSIMP_BUILD_NO_COMPRESSED_X und ASSIMP_BUILD_BOOST_WORKAROUND eingetragen.
Was mach ich denn falsch? Ich hab schon alles mögliche probiert und auch gesucht, aber irgendwie komme ich leider nicht auf den Fehler...
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp mit iOS/xCode
Welche Fehlermeldungen kommen vor der oben genannten? Das allein reicht mir leider nicht zur Analyse. Und warum kannst du die erstellten statischen Libraries nicht benutzen? Du musst diese doch nur deinem Linker als Input mitgeben, oder? Ich kenne mich allerdings bei Mac's nicht aus.
Gruß Kimmi
Gruß Kimmi
Re: Assimp mit iOS/xCode
Hast du denn dem neuen Target auch die Sourcecode Dateien zugewiesen? Das geht in Xcode 4 über die Einstellungsseite des Targets unter dem Punkt "Build Phases".