2017-04-20 14 views
0

我有一个非常不寻常的问题。我有这个OpenTK项目(我几个月前在一台不同的Linux机器上工作过,当时一切正常)。当程序在Monodevelop中运行时,SDL2无法创建GL上下文,否则工作正常

我的项目编译得很好,当我从终端自己运行可执行文件时,所有工作都完美无缺 - 窗口已创建,依此类推。

然而,当我通过点击Run键(有或没有启用调试)从内MonoDevelop的运行完全相同的程序,将抛出一个异常,因为以下SDL2错误:"Could not create GL context: BadValue (integer parameter out of range for operation)"

我已经尝试过几乎所有东西,从更改上下文创建参数到更改OpenTK版本,都没有任何帮助。 OpenTK的输出(发生SDL2错误之前是:

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 

这些参数都是一样的,我无论是手工还是从MonoDevelop的运行程序,所以我想我的问题是 - 怎么可能是启动程序之间的差异。手动并运行它在MonoDevelop中,这将导致发生这样的错误?

(这是在Ubuntu 16发生与MonoDevelop中6,OpenTK 1.1(还2.0)和SDL 2.0.4)

+0

难道是你运行例如32位版本单声道,或只是不同的版本?使您的进程停滞(睡眠,阻止调用,调试器中断)并检查/ proc//exe指向哪个版本。 – keltar

+0

当我刚刚运行可执行文件时,monodevelop进程正在运行“/ app/bin/mono --debug --debugger-agent = transport = dt_socket,address = xxx /path/to/executable.exe”,进程的路径简单地说就是“mono path/to/executable.exe”。/app/bin/mono不存在,但... – Max

回答

0

好,我更多或较少解决我的问题。在Monodevelop的网站上强烈建议,我已经安装了flatpak,它运行在一些k可能存在SDL问题的沙盒主题。我重新安装了Monodevelop的正常方式,现在一切正常,因为它应该。

相关问题