【发布时间】:2017-09-17 00:00:48
【问题描述】:
我有一个非常不寻常的问题。我有这个 OpenTK 项目(几个月前我最后一次在另一台 Linux 机器上工作,当时一切正常)。
我的项目编译得很好,当我自己从终端运行可执行文件时,一切正常 - 窗口已创建等等。
但是,当我通过点击 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 中运行程序之间可能有什么区别,导致这个错误发生?
(这发生在带有 Monodevelop 6、OpenTK 1.1(也是 2.0)和 SDL 2.0.4 的 Ubuntu 16 上)
【问题讨论】:
-
可能是您运行例如32 位版本的单声道,还是只是不同的版本?让你的进程停止(睡眠、阻塞调用、调试器中断)并检查 /proc/
/exe 指向的位置,对于两个版本。 -
monodevelop 进程正在运行“/app/bin/mono --debug --debugger-agent=transport=dt_socket,address=xxx /path/to/executable.exe”,当我刚刚运行我自己的可执行文件,进程的路径只是“单路径/到/可执行文件”。 /app/bin/mono 虽然不存在...
标签: c# opengl sdl monodevelop opentk