我正在嘗試按照簡單的代碼使用Fyne包創建 GUI?:// from: https://github.com/fyne-io/fynepackage mainimport (? ? "fyne.io/fyne/widget"? ? "fyne.io/fyne/app")func main() {? ? app := app.New()? ? w := app.NewWindow("Hello")? ? w.SetContent(widget.NewVBox(? ? ? ? widget.NewLabel("Hello Fyne!"),? ? ? ? widget.NewButton("Quit", func() {? ? ? ? ? ? app.Quit()? ? ? ? }),? ? ))? ? w.ShowAndRun()}它編譯并構建可執行文件,沒有任何錯誤,甚至沒有警告,但在嘗試運行時會出現以下錯誤:I:\>rnfynetest2019/08/25 12:37:18 Fyne error:? failed to initialise OpenGL2019/08/25 12:37:18? ?Cause: glBeginConditionalRender2019/08/25 12:37:18? ?At: C:/Users/ABCD/go/src/fyne.io/fyne/internal/driver/gl/window.go:1007panic: runtime error: invalid memory address or nil pointer dereference[signal 0xc0000005 code=0x0 addr=0x2c pc=0x572afd]goroutine 1 [running, locked to thread]:fyne.io/fyne/internal/driver/gl.(*window).SetContent(0x0, 0x8fc5e0, 0x1386e0c0)? ? ? ? C:/Users/ABCD/go/src/fyne.io/fyne/internal/driver/gl/window.go:361 +0x1dmain.main()? ? ? ? I:/rnfynetest.go:10 +0x1ce正如Fyne 主頁上給出的,我需要安裝 OpenGL。從OpenGL 的 go 綁定來看,似乎有三種安裝方法:go get -u github.com/go-gl/gl/v{3.2,3.3,4.1,4.2,4.3,4.4,4.5,4.6}-{core,compatibility}/glgo get -u github.com/go-gl/gl/v3.1/gles2go get -u github.com/go-gl/gl/v2.1/gl我需要使用以下哪些命令?我正在研究Windows7和使用go version go1.12.9 windows/386感謝您的幫助。編輯:我嘗試了以下命令:go get -u github.com/go-gl/gl/v2.1/glgo get -u github.com/go-gl/gl/v4.6-core/glgo get -u github.com/go-gl/gl/v4.6-compatibility/gl它們都安裝正常,但在嘗試運行構建的可執行文件時仍然存在相同的錯誤。我也嘗試了gles2,但它沒有安裝而是給出以下錯誤:I:\>go get -u github.com/go-gl/gl/v3.1/gles2# github.com/go-gl/gl/v3.1/gles2C:\Users\ABCD\go\src\github.com\go-gl\gl\v3.1\gles2\package.go:38:11: fatal error: KHR/khrplatform.h: No such file or directory?// #include <KHR/khrplatform.h>? ? ? ? ? ?^~~~~~~~~~~~~~~~~~~compilation terminated.
1 回答

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
OpenGL 庫通常來自顯卡驅動程序,看起來 Fyne-io 需要相當新的顯卡驅動程序。
所以你可以嘗試:
使用 Mesa 項目使用 OpenGL 的軟件實現,這對于大多數桌面應用程序用例來說應該“足夠好”
或者
更新您的顯卡驅動程序 - 如果它們適用于您的硬件,以獲得 GPU 加速的 OpenGL。如果您計劃制作圖形密集型應用程序,請一定嘗試一下)。
編輯:更新了 Fyne 使用的 OpenGL 上下文的版本
- 1 回答
- 0 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消