Ошибка OpenGL Golang Ошибка PlatformError: X11: в переменной среды DISPLAY отсутствует паника: NotInitialized: библиотека GLFW не инициализирована - PullRequest
0 голосов
/ 22 ноября 2018

Я просто не могу заставить opengl с golang работать.Я хотел опробовать golang, но даже настроить его было так больно, и теперь я не могу получить что-то, что скопировал с этого сайта .Вот код, который я использую: (с сайта) .Я выполнил эти две команды перед запуском (используя wsl для windows):

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

И если вам интересно, мойgo env:

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 и удаления неудачной попыткив sdl2 (из apt-get remove).

(OLD) Это новая ошибка:

# _/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'.

EDIT 2:

Я переустановил go 1.11.2 иустановил пакеты libglfw3 и libglfw3-dev в sudo apt-get install.Теперь у меня та же старая ошибка.

1 Ответ

0 голосов
/ 22 ноября 2018

Мое решение состоит в том, чтобы буквально установить GoLang и TDM-GCC в Windows, и сделать это через командную строку INSTEAD OF BASH.

...