首先用,go generate 命令生成resource.syso资源文件
再用,go build 命令生成EXE文件。这里需要用Directory的方式编译,不能用File的方式编译。(也就是不能用go build main.go 这种方式)。原因是通过Directory的方式编译,编译器会自动寻找同目录下的资源文件并打包进EXE。
在编译过程中,你可能会遇到如下报错:
C:Gopkgtoolwindows_amd64link.exe: running gcc failed: exit status 1
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `C:UsershjdAppDataLocalTempgo-link-681106599000000.o' is incompatible with i386:x86-64 output
collect2.exe: error: ld returned 1 exit status
上面的解决办法是,编译时带一下参数
-ldflags="-linkmode internal"
所以,编译命令是:go build -o yourapp.exe -ldflags="-linkmode internal"
简单点说,直接执行以下命令即可:
go generate
go build -o yourappname.exe -ldflags="-linkmode internal"
编译成功后,右键查看属性吧
如有疑问,欢迎在评论区留言