I successfully compiled a gtk+2.0 executable file using the gcc command arm-linux-gnueabi-gcc-4.7 test.c -o hello_world_gui pkg-config gtk+-2.0 --cflags -L/usr/arm-linux-gnueabi/lib -L/src/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng16 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lstdc++, but when I used the go command go build -ldflags="-extldflags=-L/usr/arm-linux-gnueabi/lib -extldflags=-L/src/lib -extldflags=gtk-x11-2.0 -extldflags=gdk-x11-2.0 -extldflags=Xrender -extldflags=Xinerama -extldflags=Xext -extldflags=gdk_pixbuf-2.0 -extldflags=pangocairo-1.0 -extldflags=Xdamage -extldflags=Xfixes -extldflags=atk-1.0 -extldflags=cairo -extldflags=pixman-1 -extldflags=png16 -extldflags=xcb-shm -extldflags=xcb-render -extldflags=X11 -extldflags=xcb -extldflags=Xau -extldflags=Xdmcp -extldflags=gio-2.0 -extldflags=pangoft2-1.0 -extldflags=pango-1.0 -extldflags=fontconfig -extldflags=freetype -extldflags=z -extldflags=expat -extldflags=gobject-2.0 -extldflags=ffi -extldflags=gmodule-2.0 -extldflags=gthread-2.0 -extldflags=glib-2.0 -extldflags=-lstdc++" main.go to compile, an error occurred:
# dsdou
/src/go/pkg/tool/linux_amd64/link: running arm-linux-gnueabi-gcc-4.7 failed: exit status 1
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgtk-x11-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgdk-x11-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -latk-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgio-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpangoft2-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpangocairo-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcairo
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpango-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lfontconfig
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lfreetype
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgdk-x11-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpangocairo-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpango-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcairo
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgthread-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgio-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lpango-1.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lgobject-2.0
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lglib-2.0
collect2: error: ld returned 1 exit status
I have tried these commands and all reported errors,I am certain that these files exist because the same gcc can be compiled。
go build -ldflags="-L/usr/arm-linux-gnueabi/lib -L/src/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng16 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lstdc++" main.go
go build -ldflags="-extldflags=-L/usr/arm-linux-gnueabi/lib -extldflags=-L/src/lib -extldflags=-lgtk-x11-2.0 -extldflags=-lgdk-x11-2.0 -extldflags=-lXrender -extldflags=-lXinerama -extldflags=-lXext -extldflags=-lgdk_pixbuf-2.0 -extldflags=-lpangocairo-1.0 -extldflags=-lXdamage -extldflags=-lXfixes -extldflags=-latk-1.0 -extldflags=-lcairo -extldflags=-lpixman-1 -extldflags=-lpng16 -extldflags=-lxcb-shm -extldflags=-lxcb-render -extldflags=-lX11 -extldflags=-lxcb -extldflags=-lXau -extldflags=-lXdmcp -extldflags=-lgio-2.0 -extldflags=-lpangoft2-1.0 -extldflags=-lpango-1.0 -extldflags=-lfontconfig -extldflags=-lfreetype -extldflags=-lz -extldflags=-lexpat -extldflags=-lgobject-2.0 -extldflags=-lffi -extldflags=-lgmodule-2.0 -extldflags=-lgthread-2.0 -extldflags=-lglib-2.0 -extldflags=-lstdc++" main.go
go build -ldflags="-extldflags=-L/usr/arm-linux-gnueabi/lib -extldflags=-L/src/lib -extldflags=gtk-x11-2.0 -extldflags=gdk-x11-2.0 -extldflags=Xrender -extldflags=Xinerama -extldflags=Xext -extldflags=gdk_pixbuf-2.0 -extldflags=pangocairo-1.0 -extldflags=Xdamage -extldflags=Xfixes -extldflags=atk-1.0 -extldflags=cairo -extldflags=pixman-1 -extldflags=png16 -extldflags=xcb-shm -extldflags=xcb-render -extldflags=X11 -extldflags=xcb -extldflags=Xau -extldflags=Xdmcp -extldflags=gio-2.0 -extldflags=pangoft2-1.0 -extldflags=pango-1.0 -extldflags=fontconfig -extldflags=freetype -extldflags=z -extldflags=expat -extldflags=gobject-2.0 -extldflags=ffi -extldflags=gmodule-2.0 -extldflags=gthread-2.0 -extldflags=glib-2.0 -extldflags=-lstdc++" main.go
go build -ldflags "-extldflags" main.go
go build -ldflags="-extldflags=
-L/usr/arm-linux-gnueabi/lib
-L/src/lib
-lgtk-x11-2.0
-lgdk-x11-2.0
-lXrender
-lXinerama
-lXext
-lgdk_pixbuf-2.0
-lpangocairo-1.0
-lXdamage
-lXfixes
-latk-1.0
-lcairo
-lpixman-1
-lpng16
-lxcb-shm
-lxcb-render
-lX11
-lxcb
-lXau
-lXdmcp
-lgio-2.0
-lpangoft2-1.0
-lpango-1.0
-lfontconfig
-lfreetype
-lz
-lexpat
-lgobject-2.0
-lffi
-lgmodule-2.0
-lgthread-2.0
-lglib-2.0
-lstdc++" main.go
and add in main
package main
/*
#cgo CFLAGS:
#cgo LDFLAGS: -L/src/lib -L/usr/arm-linux-gnueabi/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrender -lXinerama -lXext -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lXdamage -lXfixes -latk-1.0 -lcairo -lpixman-1 -lpng16 -lxcb-shm -lxcb-render -lX11 -lxcb -lXau -lXdmcp -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lffi -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lstdc++
*/
import "C"
import "github.com/mattn/go-gtk/gtk"
func main() {
window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
window.SetTitle("wow")
button := gtk.NewButtonWithLabel("hello golang!")
button.Clicked(func() {
gtk.MainQuit()
})
window.Add(button)
}
I hope to successfully compile using go