如何安装 opengl 才能运行

我正在尝试按照简单的代码使用Fyne包创建 GUI :

// from: https://github.com/fyne-io/fyne

package main

import (

    "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:\>rnfynetest

2019/08/25 12:37:18 Fyne error:  failed to initialise OpenGL

2019/08/25 12:37:18   Cause: glBeginConditionalRender

2019/08/25 12:37:18   At: C:/Users/ABCD/go/src/fyne.io/fyne/internal/driver/gl/window.go:1007

panic: 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 +0x1d

main.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}/gl

go get -u github.com/go-gl/gl/v3.1/gles2

go 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/gl

go get -u github.com/go-gl/gl/v4.6-core/gl

go 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/gles2

C:\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.


白板的微信
浏览 124回答 1
1回答

慕侠2389804

OpenGL 库通常来自显卡驱动程序,看起来 Fyne-io 需要相当新的显卡驱动程序。所以你可以尝试:使用 Mesa 项目使用 OpenGL 的软件实现,这对于大多数桌面应用程序用例来说应该“足够好”或者更新您的显卡驱动程序 - 如果它们适用于您的硬件,以获得 GPU 加速的 OpenGL。如果您计划制作图形密集型应用程序,请一定尝试一下)。编辑:更新了 Fyne 使用的 OpenGL 上下文的版本
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go