ASSIMP für iPhone als Lib kompilieren

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
maxx2097
Beiträge: 22
Registriert: 15.03.2011, 18:37

ASSIMP für iPhone als Lib kompilieren

Beitrag von maxx2097 »

Hallo zusammen,

ich bin vor kurzem über die ASSIMP Import Library gestolpert. Ich würde die Lib nun gerne in einem iPhone Projekt testen. Leider habe ich es aber nicht geschafft den Source-Code mit Xcode zu kompilieren. Andere Forumsbeiträge lassen aber darauf schliessen, dass dies möglich sein sollte, schweigen sich aber leider über die Details aus.
Es wäre wirklich super, wenn mich jemand diesbezüglich mal aufs Gleis setzen könnte... die objC Wrapper bekomm ich dann schon hin ;)

Danke und Gruß

Maxx
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4270
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von Chromanoid »

Mmh woran hapert es denn? Ich habe mir die Sources einfach in ein Projekt gezogen (hatte keine Lust mich mit statischen Bibliotheken unter XCode zu beschäftigen):
folders.PNG
folders.PNG (6.56 KiB) 1490 mal betrachtet
Und dann ASSIMP_BUILD_NO_COMPRESSED_X, ASSIMP_BUILD_BOOST_WORKAROUND in den GCC Preprocessor Definitionen des Projektes eingetragen.
maxx2097
Beiträge: 22
Registriert: 15.03.2011, 18:37

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von maxx2097 »

Das mit dem BOOS_WorkAROUND funktioniert bei mir irgendwie nicht... Ich habe auch die Folder "code", "contrib" und "include" aus dem aktuellen 2.0 sdk hinzugefügt und bei LLVM GCC 4.2 -> Preprocessor Macros -> Debug die entsprechenden Strings eingetragen. Dann bekomme ich beim kompilieren aber 40+ Fehler :(
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4270
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von Chromanoid »

Ich hab momentan leider kein XCode/Mac. Der Projektdatei kann ich entnehmen, dass ich noch den Boost-Workaround-pfad bei den Suchpfaden für Header-Dateien angegeben habe. Aber als ich das damals gemacht habe, hab ich ziemlich viel mit den Projekteinstellungen rumgeprokelt, kann also gut sein, dass das gar nicht notwendig ist... wäre aber plausibel, da die header von boost ja mit #include<boost/*> eingebunden werden.

Code: Alles auswählen

C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_PREPROCESSOR_DEFINITIONS = (
					ASSIMP_BUILD_NO_COMPRESSED_X,
					ASSIMP_BUILD_BOOST_WORKAROUND,
				);
				GCC_VERSION = 4.2;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "lib/assimp/code/BoostWorkaround/**";
				PREBINDING = NO;
				SDKROOT = iphoneos3.0;
			};
			name = Debug;
		};
maxx2097
Beiträge: 22
Registriert: 15.03.2011, 18:37

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von maxx2097 »

Hi!

das war schonmal ein wichtiger Hinweis... Vielen Dank! Nun tut sich schon mal wesentlich mehr. Allerdings legt er sich dann dabei auf die Nase:

include <cppunit/config-auto.h>

Die Datei wird nicht gefunden, bzw. ich kann sie auch nicht finden.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4270
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von Chromanoid »

wo steht denn das? ist das nicht nur in den unit tests? hast du vielleicht den ordner "test" mit eingebunden? den könntest du mal raushauen...
maxx2097
Beiträge: 22
Registriert: 15.03.2011, 18:37

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von maxx2097 »

Jo!

Das scheint es gewesen zu sein... der Ordner nannte sich cpp-unit-1.12.1... ohne den kompiliert es durch.

Tausend Dank!
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4270
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von Chromanoid »

gerne, es gibt übrigens auch in "assimp > workspaces > xcode3" xcode-projekteinstellungen für assimp. vielleicht solltest du die mal austesten, denn was wir hier gemacht haben war eher ne quick&dirty lösung von mir von damals ^^
maxx2097
Beiträge: 22
Registriert: 15.03.2011, 18:37

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von maxx2097 »

Das hab ich mir schon mal angesehen... ist aber für macos. Somit wäre es wahrscheinlich komplizierter das an das iOS anzupassen.

Noch eine Frage: Es kompiliert nun auch als static Lib... allerdings werden das dann ca. 90MB (debug) bzw. 70MB (release).

Ist das normal, dass das so groß wird?
Benutzeravatar
Krishty
Establishment
Beiträge: 8295
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von Krishty »

Ja; der Compiler optimiert das beim finalen Einbinden runter.
(Unter Windows x64 kompiliert Assimp bei mir regelmäßig zu 150 MiB.)
Falls es am Ende doch noch zu groß sein sollte, kannst du bestimmte Loader per #define ausschließen.

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von kimmi »

Hast du versucht, dir mittels CMake Projekt-Dateien zu erzeugen oder hast du die bestehenden XCode-Projekte benutzt?

Gruß Kimmi
maxx2097
Beiträge: 22
Registriert: 15.03.2011, 18:37

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von maxx2097 »

kimmi hat geschrieben:Hast du versucht, dir mittels CMake Projekt-Dateien zu erzeugen oder hast du die bestehenden XCode-Projekte benutzt?

Gruß Kimmi
Weder noch... ich habe die entsprechenden Ordner (code, include, contrib) einfach in ein frisches XCode Projekt gezogen.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: ASSIMP für iPhone als Lib kompilieren

Beitrag von kimmi »

Mit dem CMake solltest du dir die XCode-Sachen recht zackig generieren können. In der Konsole im Assimp-Root-Verzeichnis cmake -i für den Wizard-Mode.

Gruß Kimmi
Antworten