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