本人使用的是**linux**,想要编辑一个程序exe到win10上运行。
然后往上找了一些相关内容,几乎千篇一律,估计大家也没遇到我的问题的。
命令行输入`CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go `然后报错如下
```
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
package command-line-arguments
imports fyne.io/fyne/v2/app
imports fyne.io/fyne/v2/internal/driver/glfw
imports fyne.io/fyne/v2/internal/driver/common
imports fyne.io/fyne/v2/internal/painter/gl
imports github.com/go-gl/gl/v3.2-core/gl: build constraints exclude all Go files in /home/deyen/go/pkg/mod/github.com/go-gl/gl@v0.0.0-20211210172815-726fda9656d6/v3.2-core/gl
```
贵坛大佬估计不少,这个问题我觉得应该也不难,就是不知道该怎么解决。
报错的英文也不复杂,但就是不知道从哪里下手。在此先谢谢了~
反而我输入`sudo CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go`之后,出现了下面的提示:
```
go: downloading golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
go: downloading github.com/srwiley/rasterx v0.0.0-20200120212402-85cb7272f5e9
go: downloading github.com/srwiley/oksvg v0.0.0-20200311192757-870daf9aa564
go: downloading fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93
go: downloading github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec
go: downloading github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff
go: downloading golang.org/x/image v0.0.0-20220601225756-64ec528b34cd
```
然后一直不动了。。。。。
过了一个小时吧,就提示了一堆错误,里面有写着“time out"等字样。(有错误的那个提示页面被我不小心关掉了,所以没采集到错误放上来,又要等很久才能出那个错误)
您看看~
#4
更多评论
首先,amd64 linux 编译到 amd64 windows 的程序,命令应该是:
```
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
```
其次,fyne.io/fyne 这个库应该用了 CGO,需要安装响应的 gcc,指定 gcc 才能编译,例如:
```
CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-xxx-gcc CGO_LDFLAGS="-static" go build main.go
```
#1
按照你的提示去做,出现以下代码。
```
$ CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC=x86_64-xxx-gcc CGO_LDFLAGS="-static" go build main.go
# runtime/cgo
cgo: C compiler "x86_64-xxx-gcc" not found: exec: "x86_64-xxx-gcc": executable file not found in $PATH
```
(怎么我看网上有说法说cgo不支持交叉编译,所以CGO_ENABLED=0来着😂😂)
#2