Rohit
Rohit

Reputation: 170

Using SFML with Visual Studio 2010

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

Answers (2)

Ask About Monica
Ask About Monica

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

Dominic K
Dominic K

Reputation: 7075

I'm pretty sure the error you are getting here is because you used Window instead of RenderWindow.

Upvotes: 0

Related Questions