Reputation: 170
Right now I'm trying to get SFML to work with my Visual Studio 2010, so I can start learning how to make windows applications and games using the libraries within SFML. I'm following the tutorial here to open a new window, but my program seems to break instantly. I really don't know why :S. It seems to build and compile, but then breaks:
Edit: It breaks at this line: App.Create(sf::VideoMode(800, 600, 32), "SFML Window");
#include <SFML/Window.hpp>
int main ()
{
sf::Window App;
App.Create(sf::VideoMode(800, 600, 32), "SFML Window");
bool Running = true;
while (Running)
{
sf::Event Event;
while (App.GetEvent(Event))
{
if (Event.Type == sf::Event::Closed)
Running = false;
if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
Running = false;
}
App.Display();
}
return EXIT_SUCCESS;
}
Also, I should note: On the SFML website, the tutorials for setting it up with Visual Studio seem to be for VS 2008 (Setting up SFML with VS). I managed to get a set of instructions for VS2010 and set it up. I used a short program to test if the SFML libraries were working:
#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;
}
^ This program worked fine.
Upvotes: 1
Views: 1426
Reputation: 845
The SFML libraries are compiled for Visual Studio 2008. If you use it with VS2010, it will 'kind of' work. You'll get messages about a corrupted stack, and possibly other hard crashes when you call certain functions (like App.Clear()).
You need to either recompile the source code for the libraries yourself, or find a version where somebody else has done that. I don't believe there's an 'official' source, but if you search the forums at the SFML site, you'll find some links to libs compiled for 2010.
Late answer, I know... but this question is still coming all the time.
Upvotes: 2
Reputation: 7075
I'm pretty sure the error you are getting here is because you used Window
instead of RenderWindow
.
Upvotes: 0