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

1

08.03.2012, 19:20

SDL: Anwendungsdatei funktioniert nicht

Hallo :)
Ich habe ein Problem mit der Anwendungsdatei des erweiterten SDL-Spiels.
Wenn ich mein erweitertes Spiel in Microsoft Visual C++ 2008 compiliere und im Debug -oder Release Mode starte, funktioniert dieses auch einwandfrei.
Wenn ich jedoch die Anwendungsdatei (Game.exe) im Debug oder Release Ordner starte, öffnet sich zuerst die Konsole, anschließend das Fenster des Spiels mit schwarzem Hintergrund und nach ca 5 Sekunden wird dieses wieder beendet und nurnoch das Konsolenfenster ist sichtbar, jedoch ohne Inhalt.

Wo könnte das Problem stecken? Ich finde es komisch, dass das Spiel aus der Entwicklungsumgebung heraus funktioniert, die Anwendungsdatei jedoch nicht.

Vielen Dank für Eure Hilfe!



PS: Die sdl.dll und sdl_mixer.dll hab ich jeweils in die Ordner Release und Debug eingefügt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Snickers777« (08.03.2012, 19:27)


Moe

Frischling

Beiträge: 85

Wohnort: München

  • Private Nachricht senden

2

08.03.2012, 22:09

Hi,
kann es sein, dass deine Anwendung noch weitere Dateien braucht? VS kann die Datei auch in einem anderem Pfad ausführen und verschiebt dann alles an die richtige Stelle. Wenn Du es manuell startest, musst Du selbst alles an die richtige Stelle legen.

3

12.03.2012, 19:02

Vielen Dank für die Antwort!

Wenn ich nun das Spiel auf einen Stick ziehen möchte, könntet ihr mir da sagen welche Dateien da so pauschal drauf müssen? Sprich dass man das Spiel starten kann?
Wie gesagt ich benutze die SDL und den SDL_Mixer.

tb_chris

Frischling

Beiträge: 46

Beruf: Fachinformatiker

  • Private Nachricht senden

4

12.03.2012, 19:14

Hi Snickers777,
Du brauchst die passenden DLLs: SDL.dll, SDL_Mixer.dll.
Und du bracuhst logischerweise noch die Sprites die du benutzt (Raumschiff und so).

MFG
Chris

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tb_chris« (12.03.2012, 19:20)


5

20.03.2012, 19:42

Hmm, sorry dass ich erst so spät antworte.

Ich habe das Problem leider immernoch...
Ich habe mir ein Verzeichnis 'C++ Projekte' angelegt. Als Unterverzeichnisse hab ich das SDL-Verzeichnis sowie das Projekt-Verzeichnis.

Im Projekt-Verzeichnis liegen die gesamten Projekt-Dateien sowie die Ordner Release, Debug und Data.
Im Data Ordner liegen alle Sprites und Sounds.
Im Release -sowie im Debug Ordner hab ich nun die sdl_mixer.dll sowie die sdl.dll eingefügt.

Leider bleibt der Fehler vorhanden. Selbst wenn ich das SDL-Verzeichnis rüberkopiere.

Wo liegt mein Fehler? Ist leider mein erster Versuch mit einem selbst geschriebenen Programm und der SDL :D

Danke schonmal :)

Sp3iky

Treue Seele

Beiträge: 232

Beruf: Entwicklungsingenieur

  • Private Nachricht senden

6

20.03.2012, 19:59

Es ist immer wichtig, dass die Pfade zu deinen Sprites und Sounds korrekt sind. Je nachdem, ob du den Pfad relativ oder absolut (sollte man nie machen) im Code festgelegt hast, kann es sein, dass es aus VC heraus funktioniert, du aber dann noch deinen Data-Ordner mit in den Ordner kopieren musst, in dem die exe-Datei ist.

Ein guter Hinweis in die Richtung wäre auch, dass du beim Laden deiner Ressourcen eine Fehlermeldung ausgibst, wenn diese nicht geladen werden. Das zeigt dir dann oft sehr schnell, wenn etwas an der Ordnerstruktur nicht passt.

dew

Frischling

  • Private Nachricht senden

7

20.03.2012, 20:13

Ist doch eine echt gute Gelegenheit die Logfile-Klasse zu verwenden. ;)

8

20.03.2012, 20:39

Es wird eine Fehlermeldung ausgegeben, sobald entweder ein Sound oder ein Bild nicht geladen werden konnte. Zudem wird die SDL im Anschluss daran wieder komplett heruntergefahren. -> Deswegen auch meine Anmerkung, dass keine Fehlermeldung in der Konsole ausgegeben wird.

Ich habs jetzt so gemacht, dass ich die Anwendungsdatei aus dem Release Ordner in das Spiel-Verzeichnis kopiert habe.
Anschließend ließ sich auch alles perfekt starten.

Wie bekomme ich das Spiel nun auf eine CD?
Muss das komplette SDL-Verzeichnis mit kopiert werden?
Oder lediglich die Anwendungsdatei, der Daten Ordner und die DLLs?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

21.03.2012, 07:03

Natürlich nur letzteres.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige