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

1

04.02.2017, 17:24

[C++ | SFML] Fehler schon beim Erstellen vom Window

Hey,
Das ist jetzt mein erster Beitrag, also nicht wundern, falls ich irgendetwas hier falsch benutze. :D
Nun aber mein Problem: Ich benutze schon etwas länger C++ und habe jetzt SFML ausprobiert. Ich habe alles wie in den Tutorials gemacht, und erst einmal nur ein window erstellt. Nun lässt sich das ganze auch ausführen, ABER das window ist seltsam weiß und in der Konsole tauchen seltsame Fehler auf, bei denen ich kein Ahnung habe, was ich tun kann :pillepalle:
Hier erst einmal der Programmcode, falls der Fehler hier liegen sollte, ich denke aber eher, dass es irgendetwas mit der SFML-Version zu tun hat:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <SFML\Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(700, 700), "Test");
    
    while (window.isOpen())
    {
        sf::Event evnt;
        while (window.pollEvent(evnt))
        {
            if (evnt.type == evnt.Closed)
            {
                window.close();
            }
        }
    }

    return 0;
}


Die Zeilen in der Konsole lauten wie folgt:

Failed to deactivate shared context before sharing: Das Handle ist ungültig(also das ü mit einer 3 ersetzt wie üblich).

Warning: The created openGL context does not fully meet the settings that were requested.
Requested: Version = 1.1 ; depth bits = 0 ; stencil bits = 0 ; AA level = 0 ; core = false ; debug = false ; sRGB = false
Created: Version = 0.0 ; depthbits = 0 ; stencil bits = 0 ; AA level = 0 ; core = false ; debug = false ; sRGB = false
Failed to deactivate the window`s context.
Failed to deactivate the window`s context.

Ich habe nun wirklich keine Ahnung, was das heißen soll und habe nirgendwo etwas darüber gefunden, wäre also sehr dankbar für Hilfe. :)
Achja, falls jemand weiß ob und wie man den Text aus der Konsole kopiert und einfügt, wär das auch nicht schlecht :thumbup:

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

04.02.2017, 18:27

Das ist ein Problem mit alten NVidia-Treibern und der SFML-Version 2.4.1. Es gibt bereits einen Patch-Request als Workaround für die fehlerhaften Treiber, der das Problem beheben wird. Bis dahin entweder mal die Treiber aktualisieren oder eine andere SFML-Version verwenden. Z.B. 2.3.

Text aus einer Windows-Konsole kannst du kopieren, indem du links oben im Fenster auf das Icon klickst, dort im Menü auf "Bearbeiten->Markieren". Wenn du markiert hast, drückst du Enter, damit ist dann der Text kopiert.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

04.02.2017, 19:58

Danke!
Du glaubst nicht, wie viel Nerven mich das gekostet hat, jetzt kann ich endlich weiter machen ^^

4

04.02.2017, 20:12

Nun gut, ich habe mich wohl zu früh gefreut :D
Ich habe da ganze jetzt mit SFML 2.3 ausprobiert und es sieht noch nicht ganz anders aus...:

Failed to deactivate shared context before sharing: Das Handle ist ung³ltig.

Warning: Failed to enable GL_FRAMEBUFFER_SRGB
Warning: The created OpenGL context does not fully meet the settings that were r
equested
Requested: version = 1.1 ; depth bits = 0 ; stencil bits = 0 ; AA level = 0 ; co
re = false ; debug = false ; sRGB = true
Created: version = 0.0 ; depth bits = 0 ; stencil bits = 0 ; AA level = 0 ; core
= false ; debug = false ; sRGB = false
Failed to activate the window's context
Failed to activate the window's context

Wenn ich mich nicht irre, ist nur die zweite Zeile noch dazugekommen... Weißt du da auch weiter, geht bei meinem nvidia diese version vllt auch noch nicht?
Aber danke für den Tipp mit dem kopieren :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

04.02.2017, 20:24

Zeig mal bitte deinen Code. Mit 2.3 gibt es das Problem nämlich eigentlich nicht. Und da bin ich mir 100%ig sicher, weil ich das Problem selbst bei SFML reported habe.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

6

04.02.2017, 22:46

Der Code ist inmer noch der gleiche einfache wie oben im ersten Beitrag. Er besteht auch nur aus main.cpp. Der war nur zum ausprobieren, wo der Fehler war, in meinem größeren Projekt gab es den Fehler auch nur in leicht abgewandelter Form. Da wurde 'Failed to deactivate the window's context' gespammt bis das window geschlossen wurde. Und ja ich bin auch verwirrt...

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

7

04.02.2017, 22:55

Hast du deinen Grafiktreiber aktualisiert?
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

8

04.02.2017, 23:10


Hast du deinen Grafiktreiber aktualisiert?

Achso... Das habe ich jetzt noch nicht probiert, wollte erstmal das mit SFML 2.3 ausprobieren. Aber dann versuche ich das demnächst auch nochmal. Ist das denn so einfach? :pillepalle: Kenne mich in dieser Richtung vom Computer nicht so aus...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

04.02.2017, 23:17

Regelmäßig Treiber zu aktualisieren sollte eigentlich eine Selbstverständlichkeit sein. Deine Frage verwundert mich ehrlich gesagt. Du gehst auf die Website des Grafikkartenherstellers (in der Regel Nvidia, AMD oder Intel) und lädst dir dort das Installationsprogramm für die Treiber für deine Karte und dein Betriebssystem runter, welches du dann ausführst, ggf. einmal neu booten - fertig.

10

04.02.2017, 23:22

Naja, gut zu wissen :D Danke

Werbeanzeige