TinySDGL mit Dev-C++ für gp2x


enoritz

Still Fresh
Joined
Sep 5, 2006
Messages
41
ICQ
131370115
Hallo.

Ich hab gerade so meine Probleme die TinySDGL Bibliotheken mit dem Dev-C++ aus dem gp2x-SDK von Gamepark Holdings zum laufen zu kriegen.

Folgendes hab ich bisher gemacht:
Ich hab die Bibliotheken libTinySDGL.a und libTinyGLU.a in das Lib-Verzeichnis Tools\arm-gp2x-linux\lib im GP2XSDK-Ordner kopiert und in meinem Projekt folgende Parameter an den Linker gehängt: -ltinysdgl - ltinyglu
Dann habe ich noch die Header in Tools\arm-gp2x-linux\include untergebracht.

Versuche ich jetzt aber meine Codes für den gp2x zu kompilerien erhalte ich ziemlich viele Fehler:
1.
Code:
  C:/.../GP2XSDK/Tools/arm-gp2x-linux/lib/libtinysdgl.a(api.o) uses software FP, whereas Projekt1.gpe uses hardware FP 
  failed to merge target specific data of file C:/.../GP2XSDK/Tools/arm-gp2x-linux/lib/libtinysdgl.a(api.o)
Diese Meldung wiederholt sich ständig und immer mit anderen Objekt-Dateien: list.o, vertex.o, init.o

2.
Code:
<i>
</i> F:\Dev-C++ Projects\3d\gp2x\main.o In function `main': 
  [Linker error] undefined reference to `ZB_open(int, int, int, int, unsigned char*, int*, void*)' 
  [Linker error] undefined reference to `ZB_copyFrameBuffer(ZBuffer*, void*, int)' 
  [Linker error] undefined reference to `ZB_close(ZBuffer*)'
Das ist auch nur ein Beispiel. Das passiert beispielsweise auch bei der Funktion glColor4f aus der Bibliothek libtinysdgl.a mit unbekannten Referenzen auf __mulsf3

Irgendwann gibt es dann nen General Error: Too many messages; abort


Was muss ich noch tun um die Fehler zu beheben? Bei 2. schätze ich, dass ich noch irgend eine Datei Linken muss. Und bei 1. müsste ich wohl irgend etwas in meinem Projekt umstellen. Nur was und wo?
 
Moin Moin!

Zunächst muß ich sagen, daß ich absoluter Neuling in dieser Materie bin. Aber ich hatte auch solche Fehlermeldungen unter Verwendung des GPH SDK und der vorkompilierten Version von Paeryns SDL beim Versuch scummvm für GP2X zu bauen. Ich konnte das lösen, indem ich dieses SDL selbst kompiliert habe.

Dank Google las ich in einem engl. Forum (gp32.com ?), daß dieses Problem auftritt, wenn eine der "Komponenten" mit der gcc (oder g++?) Option Software Floatpoint kompiliert wurde, und die anderen nicht. Dann möchte der Linker nämlich nicht.
Der GP2X hat keine FPU und meine Mutmaßung ist, daß die selbstgebaute Toolchain des GPH SDK dies dann auch ohne explizite gcc Option berücksichtigt. Möglicherweise wurde das SDL ja mit einer Toolchain ohne dieses festverdrahtete Verhalten gebaut.

Also hol Dir die TinySDL Sourcen und baue es in Deiner Entwicklungsumgebung.
Allerdings hab ich bisher (auch mit GPH's SDL) noch keine statisch gebauten SDL Anwendungen zum laufen gebracht (segmentation fault). Ist halt doof, wenn man von g++ und Konsorten keine Ahnung hat.. :) Dynamisch Linken klappt aber.

Nur so meine 2 EUR Cents..
 
Back
Top