klaute
Gast
Hallo zusammen,
ich habe arbeite seit längerem an einem Spiel unter Linux und habe für dieses einen Viewer für das .ac Dateiformat (www.ac3d.org) geschrieben.
Die Software ist in C++ geschrieben und alle funktioniert unter Linux bestens.
Unter Mac OSX (tiger) mit Xcode 2.2, darwinports (libsdl, libsdl_ttf, glib-2.0 benötigt) kann ich nach ein paar Anpassungen, wie Frameworks einbinden, mein Projekt auch kompilieren.
Jetzt zum Problem...
Ich habe eine Klasse AC3DImport mit vielen privat Variablen Zeigern etc. .
Im Konstruktor kann ich diese mit werten belegen und alles tun was ich möchte.
In sämtlichen Methoden der Klasse ist nicht möglich auf eine dieser Variablen zuzugreifen, es spielt keine Rolle ob ich diese privat,protected oder public deklariere. Ich bekomme bei jedem Zugriff einen Segfault.
Die Variable die den Fehler erzeugt ist nach den Kompilierläufen meist unterschiedlich.
Ich habe bereits mehrere Stunden damit verbracht zu debuggen und in google zu suchen...
Eine Meldung in einem anderen Forum lautet, dass man auf XCode 2.2 umstellen soll falls soetwas passiert. Ich kompiliere meine Software jedoch nicht innerhalb eines XCode Projektes sondern mit einem Makefile auf der Kommandozeile, hat also keinen Effekt.
Ich verwende den gcc-4.x habe aber auch schon alle anderen getestet, kein Erfolg.
Zum testen ein Beispielprogramm geschrieben, dass die gleiche Sache tut.
Dann funktioniert alles bestens.
Hier die Fehlermeldung vom gdb ...
---
Programm received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xa1b1e027
AC3DImport::setObjectLoc(this=0xa1b1c1d3, f1=0, f2=0, f3=0 ) at ../ac3dimport.cpp:434
434 if ( brother != 0 )
---
Unter http://www.digital-dreaming.de/download/dev/gnuracing/gnuracing.tgz kann
eine noch nicht für OSX angepasste (wenn auch was das Spiel selbst angeht veraltete) Version heruntergeladen werden.
Das Paket enthält jedenfalls eine aktuelle Version der betroffenen Klasse(n).
Im Sourcen-Verzeichniss existiert ein Ordner test, in dem der Viewer
abgelegt ist falls es sich jemand direkt ansehen möchte...
Würde mich über eine Antwort freuen!
Danke,
klaute
ich habe arbeite seit längerem an einem Spiel unter Linux und habe für dieses einen Viewer für das .ac Dateiformat (www.ac3d.org) geschrieben.
Die Software ist in C++ geschrieben und alle funktioniert unter Linux bestens.
Unter Mac OSX (tiger) mit Xcode 2.2, darwinports (libsdl, libsdl_ttf, glib-2.0 benötigt) kann ich nach ein paar Anpassungen, wie Frameworks einbinden, mein Projekt auch kompilieren.
Jetzt zum Problem...
Ich habe eine Klasse AC3DImport mit vielen privat Variablen Zeigern etc. .
Im Konstruktor kann ich diese mit werten belegen und alles tun was ich möchte.
In sämtlichen Methoden der Klasse ist nicht möglich auf eine dieser Variablen zuzugreifen, es spielt keine Rolle ob ich diese privat,protected oder public deklariere. Ich bekomme bei jedem Zugriff einen Segfault.
Die Variable die den Fehler erzeugt ist nach den Kompilierläufen meist unterschiedlich.
Ich habe bereits mehrere Stunden damit verbracht zu debuggen und in google zu suchen...
Eine Meldung in einem anderen Forum lautet, dass man auf XCode 2.2 umstellen soll falls soetwas passiert. Ich kompiliere meine Software jedoch nicht innerhalb eines XCode Projektes sondern mit einem Makefile auf der Kommandozeile, hat also keinen Effekt.
Ich verwende den gcc-4.x habe aber auch schon alle anderen getestet, kein Erfolg.
Zum testen ein Beispielprogramm geschrieben, dass die gleiche Sache tut.
Dann funktioniert alles bestens.
Hier die Fehlermeldung vom gdb ...
---
Programm received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xa1b1e027
AC3DImport::setObjectLoc(this=0xa1b1c1d3, f1=0, f2=0, f3=0 ) at ../ac3dimport.cpp:434
434 if ( brother != 0 )
---
Unter http://www.digital-dreaming.de/download/dev/gnuracing/gnuracing.tgz kann
eine noch nicht für OSX angepasste (wenn auch was das Spiel selbst angeht veraltete) Version heruntergeladen werden.
Das Paket enthält jedenfalls eine aktuelle Version der betroffenen Klasse(n).
Im Sourcen-Verzeichniss existiert ein Ordner test, in dem der Viewer
abgelegt ist falls es sich jemand direkt ansehen möchte...
Würde mich über eine Antwort freuen!
Danke,
klaute