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

valentin

Treue Seele

  • »valentin« ist der Autor dieses Themas

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

1

13.03.2011, 13:13

[SFML] Stack around the Variable 'App' was corrupted

Moin,
Ich hab' jetzt beschlossen von Allegro auf SFML umzusteigen. Doch da gibt es jetzt schon das erste Problem. Ich hab' das erste Beispielprogramm problemlos kompilieren können, ohne irgendwelche Fehler oder Ähnliches.

Beispielprogramm:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <SFML/System.hpp>
#include <iostream>

int main()
{
sf::Clock Clock;
while (Clock.GetElapsedTime() < 5.f)
{
    std::cout << Clock.GetElapsedTime() << std::endl;
    sf::Sleep(0.5f);
}

return 0;
}


Jetzt hab' ich jedoch angefangen die Tutorials auf sfml-dev.org durchzuarbeiten, und schon gibts erste Probleme mit folgendem Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <SFML/Window.hpp>

int main()
{
    sf::Window App;
    App.Create(sf::VideoMode(800, 600, 32), "Test Window :D");

    sf::Event Event;

    while (App.IsOpened())
    {
        while(App.GetEvent(Event))
        {
            if (Event.Type == sf::Event::Closed)
                App.Close();

            // Escape key pressed
            if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
                App.Close();
        }

        App.Display();
    }

    return EXIT_SUCCESS;
}


Gelinkt habe ich dabei auf sfml-window.lib. Es funktioniert auch alles soweit, bis ich das Fenster schliesse. Dann kommt oben genannter Fehler (Run-Time-Check Failure #2- Stack around the Variable 'App' was corrupted). Wenn ich das ganze dann im Release-Modus Debugge, kommt gelich am Anfang der Fehler "Durch einen Pufferüberfauf in "sfml_test.exe" wurde der interne Programmzustand beschädigt. Klicken sie auf..." und ich finde den Fehler beim besten Willen nicht.

Könnt ihr mir (wie bisher immer) helfen?

Valentin
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

13.03.2011, 14:27

sieht so aus als würdest du die falschen dlls verwenden. wenn du die sfml für visual studio 2010 kompiliert hast musst du auch die neuen kompilierten dlls verwenden. die mitgelieferten sind für 2008.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

valentin

Treue Seele

  • »valentin« ist der Autor dieses Themas

Beiträge: 212

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

3

13.03.2011, 15:41

Danke :D (Gibt's hier eigentlich so nen "Danke"-Button? Oder eine Renomee-System?)

Das war's. Wobei ich eigentlich der Meinung war, dass ich schon die neu kompilierten .dll's benutzt hab'. Aber dem war wohl nicht so...

Btw: Ist es normal, dass neben dem Fenster, das erstellt wird noch die Konsole aufgeht?
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

4

13.03.2011, 15:44

Ist es normal, dass neben dem Fenster, das erstellt wird noch die Konsole aufgeht?

ja, das ist auch sehr praktisch denn du kansnt weiterhin konsolenausgaben mit cout machen(eingaben mit cin auch^^)
wenn du in der releaseversion keine konsole willst kannst du das in den eigenschaften ausschalten.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

GameProggD3D

Frischling

Beiträge: 67

Wohnort: Walding

Beruf: Schüler

  • Private Nachricht senden

5

13.03.2011, 15:49

Oder du machst ne Win32-Anwendung und linkst mit sfml-main.lib. Dann kommt keine Konsole und du kannst trotzdem weiter Konsolenmäßig programmieren mit ner main()-Funktion (nur halt keine cout << und cin >> oder sonstige Konsolenbefehle).
Programmiere Zombie-Spiel mit nem Freund

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

6

13.03.2011, 16:38

Kannst aber auch FreeConsole ( true ) ; verwenden ;)

MfG Stazer

Werbeanzeige