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

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

1

12.01.2013, 15:20

Visual Studio 2012 - Problem

Hallo zusammen!
Ich habe eben Visual Studio 2012 installiert und wollte ein kleines Programm, welches ich mit sfml 2.0 geschrieben habe in dieser Umgebung ausführen. Das Programm läuft so wie es ist einwandfrei, zumindest in Visual Studio 2010. In Visual Studio 2012 wird mir immer gesagt, dass der Stack um die Variable 'rect' beschädigt wurde und ich kann mir nicht ganz erklären, warum mir das vorher nie angezeigt wurde. ich habe eine Funktion, die verschiedene Sprites auf den Bildschirm anzeigen soll. In dieser wird die Instanz 'rect' erzeugt. Mehr nicht. Hier die Funktion:

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
27
28
29
void DrawMap(sf::RenderWindow &Window)
{
    sf::RectangleShape rect;
    rect.setSize(sf::Vector2f(BLOCKSIZE, BLOCKSIZE));
    rect.setFillColor(sf::Color(255, 255, 255, 255));
    sf::Color rectCol;

    sf::Sprite sprite;

    for(int i=0; i < mapVector.size(); i++)
    {
        for(int j=0; j < mapVector[i].size(); j++)
        {
            if(mapVector[i][j] < 0)
            {
                rectCol = sf::Color(44, 117, 255);
                rect.setPosition(j*BLOCKSIZE, i*BLOCKSIZE);
                rect.setFillColor(rectCol);
                Window.draw(rect);
            }
            else
            {
                sprite.setTexture(textureVector[mapVector[i][j]]);
                sprite.setPosition((float)j*BLOCKSIZE, (float)i*BLOCKSIZE);
                Window.draw(sprite);
            }
        }
    }
}


Ich weiß leider nicht, wie ich das Problem beheben kann und hoffe auf eure Hilfe!
Gruß,
Luca

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

2

12.01.2013, 15:26

Hast du die SFML für VS 2012 neu kompiliert?

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

3

12.01.2013, 15:38

oh! Stimmt, das habe ich noch nicht gemacht! Ich probiers mal eben...

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

4

12.01.2013, 15:46

Ja, der Release Candidate für VS 2010 ist nicht kompatibel mit VS 2012. Um evtl. Anfängern oder auch erfahrenen Programmierer das Leben etwas einfacher zu machen, erstelle ich immer wieder Nightly Builds für ein paar ausgewählte Kompiler zur Verfügung: Nightly Builds
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Werbeanzeige