Я пытаюсь использовать OpenGL из программы Go. I думаю У меня есть все части на месте, но я все еще не в состоянии заставить его работать.Использование OpenGL из Go
My C компилятор 64-bit version of mingw. Это переменная %PATH%
, и я проверил ее работу с примером случайного числа в документации cgo
.
Я установил 64-разрядный GLEW 1.9.0, выполнив установку bin, lib и include для эквивалентов \mingw\x86_64-w64-mingw32
в моей установке mingw-w64.
Когда я пытаюсь запустить go get github.com/go-gl/gl
, идти отвечать следующим:
In file included from attriblocation.go:7:0:
gl.h:5:25: error: enumerator value for '__cgo_enum__5' is not an integer constant
#define GLEW_GET_FUN(x) (*x)
^
d:\programs\mingw64\x86_64-w64-mingw32\include\gl\glew.h:1956:26: note: in expansion of macro 'GLEW_GET_FUN'
#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f)
^
gl.h:5:25: error: enumerator value for '__cgo_enum__6' is not an integer constant
#define GLEW_GET_FUN(x) (*x)
Эти ошибки продолжают аналогичным образом для значений до __cgo_enum__15
. Я также получаю некоторые совпадающие ошибки, исходящие из стороны Go для каждой записи.
Любые идеи о том, что мне не хватает, чтобы заставить это работать?
Редактировать: Вот «подходящие» журналы из стороны в сторону.
attriblocation.go:42:2: error: initializer element is not constant
func (indx AttribLocation) Attrib4fv(values *[4]float32) {
^
attriblocation.go:42:2: error: (near initialization for '__cgodebug_data[5]')
attriblocation.go:43:2: error: initializer element is not constant
C.glVertexAttrib4fv(C.GLuint(indx), (*C.GLfloat)(&values[0]))
^
attriblocation.go:43:2: error: (near initialization for '__cgodebug_data[6]')
attriblocation.go:44:2: error: initializer element is not constant
}
Существует один на каждые __cgodebug_data[]
5-15.
Редактировать 2: Меня попросили прикрепить несколько журналов. Here is what happens when I compile with GCC 4.8, и Here is what I get with 4.7 and 4.6.
Что вы имеете в виду с соответствующими ошибками? Можете ли вы опубликовать их также? – nemo
Я добавил ошибки, которые, кажется, исходят из стороны Go в доме. –
Попробуйте запустить 'go build -a -x' в' $ GOROOT/src/pkg/github.com/go-gl/gl' и вставьте строки, которые не включаются, в дополнение к сообщениям об ошибках, которые вы уже разместили. Это может помочь. – nemo