我有一個非常不尋常的問題。我有這個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)
難道是你運行例如32位版本單聲道,或只是不同的版本?使您的進程停滯(睡眠,阻止調用,調試器中斷)並檢查/ proc//exe指向哪個版本。 –
keltar
當我剛剛運行可執行文件時,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