我似乎无法使gogl与golang一起工作。我想尝试golang,但是即使设置起来也是如此痛苦,现在我无法复制this website上粘贴的内容。这是我正在使用的代码:(from the website)。我在运行它之前做了这两个命令(在Windows上使用wsl):
go get github.com/go-gl/gl/v4.1-core/gl
go get github.com/go-gl/glfw/v3.2/glfw
这是我得到的全部错误:
2018/11/21 13:43:33 PlatformError: X11: The DISPLAY environment variable is missing
panic: NotInitialized: The GLFW library is not initialized
goroutine 1 [running, locked to thread]:
github.com/go-gl/glfw/v3.2/glfw.acceptError(0x0, 0x0, 0x0, 0x1, 0xc000099ee0)
/home/oriont/dev/src/github.com/go-gl/glfw/v3.2/glfw/error.go:173 +0x1d1
github.com/go-gl/glfw/v3.2/glfw.panicError()
/home/oriont/dev/src/github.com/go-gl/glfw/v3.2/glfw/error.go:184 +0x32
github.com/go-gl/glfw/v3.2/glfw.WindowHint(0x20003, 0x0)
/home/oriont/dev/src/github.com/go-gl/glfw/v3.2/glfw/window.go:235 +0x38
main.initGlfw(0x4ded35)
/home/oriont/dev/super g/main.go:71 +0x54
main.main()
/home/oriont/dev/super g/main.go:45 +0x2b
exit status 2
如果您很好奇,请访问我的环境:
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/oriont/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/oriont/dev"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go-1.11"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.11/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build854283259=/tmp/go-build -gno-record-gcc-switches"
任何帮助将不胜感激,谢谢!
编辑:
现在,在重新安装go并从apt-get remove删除sdl2的失败尝试后,我得到了一个新错误。
(旧)这是新错误:
# _/home/oriont/dev/super_g
/usr/lib/go-1.11/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: cannot find -lXrandr
collect2: error: ld returned 1 exit status
我仍然有所有相同的代码。此外,我确实尝试过运行“ go build”,但它却引发了与“ go run main.go”完全相同的错误。
编辑2:
我重新安装了go 1.11.2,并在sudo apt-get install上安装了libglfw3和libglfw3-dev软件包。现在,我有同样的旧错误。
答案 0 :(得分:0)
对于 Alpine Linux,以下工作有效:
apk add --no-cache mesa-dri-swrast glfw-dev mesa-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev
DISPLAY
如下:export DISPLAY=:0
/tmp/.X11-unix
(作为源和目标)答案 1 :(得分:-1)
我的解决方案是在Windows上实际安装GoLang和TDM-GCC,并通过命令提示符INSTEAD OF BASH进行安装。