Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Weinze

Frischling

  • »Weinze« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Klagendorf am Wörtherteich

Beruf: Schüler

  • Private Nachricht senden

1

20.08.2010, 17:25

SDL_Game öffnet sich und beendet gleich darauf wieder

Hallo Community!

Ich habe ein Problem beim SDL_Game, welches im Buch beschrieben wird.
Auf meinem Rechner läuft es ohne Probleme.
Auch auf einem anderen Rechner bei mir zu Hause läuft es nach Mitlieferung der .dll-Files ohne Probleme.

Jetzt hab ich allerdings das gesamte Spiel einem Freund geschickt, damit er es ausprobieren kann.

Wenn er es jetzt startet, dann öffnet sich bei ihm jedoch für den Bruchteil einer Sekunde ein Konsolen-Fenster und schließt sich wieder.

Das ist sehr seltsam, da ich vor dem Beenden extra noch ein system("PAUSE") eingebaut habe, um eventuelle Fehlermeldungen lesen zu können.

Hatte von euch schon jemand dieses Problem oder eine Idee, woran das liegen könnte?

LG Weinze
Außen Toppits, innen Geschmack!

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

2

20.08.2010, 18:06

Benutzt er vllt. ein anderes Betriebssystem als du?
Denn dann könnte

C-/C++-Quelltext

1
system("PAUSE");
evtl. nicht unterstützt werden und du solltest es mal mit

C-/C++-Quelltext

1
cin.ignore();
probieren.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Weinze

Frischling

  • »Weinze« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Klagendorf am Wörtherteich

Beruf: Schüler

  • Private Nachricht senden

3

20.08.2010, 18:16

Nein, er besitzt genau so wie ich Windows 7
Außen Toppits, innen Geschmack!

4

20.08.2010, 18:46

Dann schmiert dir das Programm wohl irgendwo beim initialisieren ab.
Lasst doch waehrend der Ausfuehrung mal alle moeglichen relevanten Daten in eine Logdatei schreiben die kannst du dann immernoch auslesen.

5

20.08.2010, 19:10

Hi,
Hast du auch die Release-Version komplimiert & die Release Dlls (Die Debug Dlls enden mit -d.dll) mitgegeben?
Mfg
LittleProgger

Weinze

Frischling

  • »Weinze« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Klagendorf am Wörtherteich

Beruf: Schüler

  • Private Nachricht senden

6

20.08.2010, 20:17

@LittleProgger: Ja, das hab ich natürlich gemacht.

@k|haos: Das mit dem Log wird mir glaub ich ehrlich gesagt nicht viel helfen, da es NUR bei ihm nicht funktioniert.

ALLERDINGS hat er mir jetzt endlich verraten, dass er ein 64bit-System hat.
Ich vermute fast, dass darin der Fehler liegt.

Was meint ihr?

Lg Weinze
Außen Toppits, innen Geschmack!

7

20.08.2010, 20:20

Nein.

Und Logging und Debugginginformationen sind niemals (!) verkehrt.

Weinze

Frischling

  • »Weinze« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Klagendorf am Wörtherteich

Beruf: Schüler

  • Private Nachricht senden

8

20.08.2010, 20:50

Das Problem hat sich erledigt! :D

Es lag eben doch an seinem 64bit-System.

Und zwar werden ja die 64bit-dlls im System32-Ordner und die 32bit-dlls im SysWOW64-Ordner gespeichert. (Zumindest hab ich das irgendwo gelesen)

Er hatte jetzt die mitgelieferten dlls zuerst im System32-Ordner, bis ich ihm gesagt habe, dass er sie in den SysWOW64-Ordner geben soll
und jetzt funktioniert es! :D

Interessanterweise hat es nicht funktioniert, als er die dlls im Ordner des Spiels hatte. ?(
Außen Toppits, innen Geschmack!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Weinze« (20.08.2010, 21:00)


Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

9

20.08.2010, 21:06

Ich würde trotzdem empfehlen, in Zukunft cin.ignore(); zu verwenden.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

10

20.08.2010, 21:10

Das hat dennoch nichts mit dem 64-bit System zu tun sonderlich lediglich damit wo Windows seine dll's zusammensucht.

Das er die dll's jedoch nicht gefunden hat obwohl sie im selben Verzeichnis waren wundert mich gerade etwas.

Werbeanzeige