2017-04-20 7 views
0

Ich habe ein sehr ungewöhnliches Problem. Ich habe dieses OpenTK-Projekt (an dem ich zuletzt vor einigen Monaten auf einem anderen Linux-Rechner gearbeitet habe, damals hat alles gut geklappt).SDL2 kann GL-Kontext nicht erstellen, wenn Programm in Monodevelop ausgeführt wird, funktioniert gut, andernfalls

Mein Projekt kompiliert einfach gut und wenn ich die ausführbare Datei selbst aus dem Terminal ausführen, funktioniert alles perfekt - das Fenster wird erstellt und so weiter.

Allerdings, wenn ich genau das gleiche Programm aus Monodevelop durch Drücken der RUN-Taste (mit oder ohne Debuggen aktiviert ist) laufen, wird eine Ausnahme aus folgendem Grund SDL2 Fehler ausgelöst: "Could not create GL context: BadValue (integer parameter out of range for operation)"

Ich habe bereits versucht, Von der Änderung der Contexterzeugungsparameter bis hin zur Änderung der OpenTK-Versionen hat nichts geholfen. OpenTK der Ausgang (vor dem SDL2 Fehler auftritt:

Creating GraphicsContext. 
    GraphicsMode: Index: , Color: 32 (8888), Depth: 16, Stencil: 0, Samples: 0, Accum: 0 (0000), Buffers: 2, Stereo: False 
    IWindowInfo: OpenTK.Platform.SDL2.Sdl2WindowInfo 
    GraphicsContextFlags: Default 
    Requested version: 3.2 

Diese Parameter sind die gleichen, ob ich das Programm manuell oder von Monodevelop laufen Also ich denke, meine Frage ist - was vielleicht der Unterschied zwischen dem Start des Programms sein könnte. manuell und es in Monodevelop ausgeführt, die diese Fehler verursacht passieren?

(Dies geschieht auf Ubuntu 16 mit Monodevelop 6, OpenTK 1.1 (auch 2.0) und SDL 2.0.4)

+0

Könnte es sein, dass Sie z. 32bit Version Mono oder nur andere Version? Machen Sie Ihren Prozess zum Stillstand (Ruhezustand, blockierender Aufruf, Unterbrechung durch Debugger) und prüfen Sie, wo/proc//exe auf beide Versionen zeigt. – keltar

+0

Der Monodevelop-Prozess läuft "/ app/bin/mono - debug - debugger-agent = transport = dt_socket, Adresse = xxx /path/to/executable.exe", wenn ich nur die ausführbare Datei selbst ausführe, den Pfad des Prozesses ist einfach "mono path/to/executable.exe"./app/bin/mono existiert nicht, obwohl ... – Max

Antwort

0

Nun, ich mehr oder weniger löste mein Problem.Wie es auf Monodevelop's Website dringend empfohlen wird, hatte ich es mit flatpak installiert, das in einigen k läuft ind der Sandbox, die wahrscheinlich Probleme mit SDL hatte. Ich habe Monodevelop wieder normal installiert und nun funktioniert alles wie es soll.

Verwandte Themen