Tôi đang cố gắng sử dụng OpenGL từ bên trong chương trình Go. Tôi nghĩ rằng Tôi có tất cả các phần tại chỗ, nhưng tôi vẫn không thể làm cho nó chạy.Sử dụng OpenGL từ Go
Trình biên dịch C của tôi là 64-bit version of mingw. Nó nằm trong biến số %PATH%
của tôi và tôi đã xác minh nó hoạt động với ví dụ số ngẫu nhiên trong tài liệu cgo
.
Tôi đã cài đặt GLEW 64 bit 64 bit bằng cách đối phó với thùng, lib và bao gồm các thư mục tương ứng với \mingw\x86_64-w64-mingw32
trong cài đặt mingw-w64 của tôi.
Khi tôi cố gắng và chạy go get github.com/go-gl/gl
, hãy trả lời như sau:
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)
Những lỗi này tiếp tục trong một thời trang tương tự cho các giá trị lên đến __cgo_enum__15
. Tôi cũng nhận được một số lỗi phù hợp đến từ phía bên của mọi thứ cho mỗi mục.
Bất kỳ ý tưởng nào về những gì tôi thiếu để làm việc này hoạt động?
Chỉnh sửa: Đây là nhật ký 'phù hợp' từ phía bên của mọi thứ.
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
}
Có một cho mỗi __cgodebug_data[]
5-15.
Chỉnh sửa 2: Tôi đã được yêu cầu đính kèm một số nhật ký. Here is what happens when I compile with GCC 4.8 và Here is what I get with 4.7 and 4.6.
Bạn có ý nghĩa gì với các lỗi trùng khớp? Bạn có thể đăng chúng không? – nemo
Tôi đã thêm các lỗi dường như đến từ phía bên của ngôi nhà. –
Thử chạy 'go build -a -x' trong' $ GOROOT/src/pkg/github.com/go-gl/gl' và dán các dòng không thành công ngoài các thông báo lỗi bạn đã đăng. Đây có thể giúp đỡ. – nemo