在ubuntu上跨平台编译Windows应用程序的时候出现错误
imports github.com/go-gl/gl/v3.2-core/gl: build constraints exclude all Go files in /home/rua/go/pkg/mod/github.com/go-gl/gl@v0.0.0-20211210172815-726fda9656d6/v3.2-core/gl
是因为fyne在交叉编译的时候需要开启cgo,但是go在跨平台编译的时候会自动关闭cgo
解决办法使用fyne官方的构建工具 fyne-cross
使用前 设置gobin的路径 并加入环境变量
go版本 >= 1.16:
go install github.com/fyne-io/fyne-cross@latest
旧版本go:
GO111MODULE=on go get -u github.com/fyne-io/fyne-cross
安装完成之后就可以跨平台编译了
使用方法
fyne-cross <command> [options]
The commands are:
darwin Build and package a fyne application for the darwin OS
linux Build and package a fyne application for the linux OS
windows Build and package a fyne application for the windows OS
android Build and package a fyne application for the android OS
ios Build and package a fyne application for the iOS OS
freebsd Build and package a fyne application for the freebsd OS
version Print the fyne-cross version informationUse "fyne-cross <command> -help" for more information about a command.
示例:
fyne-cross windows -arch=*
相当于
fyne-cross windows -arch=amd64,386