NotePublic/Software/Development/Language/Go/Basic/Golang_创建窗口程序编译参数.md

921 B
Raw Blame History

Golang 创建窗口程序编译参数

去除命令行窗口

在双击运行 Golang 编译的窗口程序时会弹出一个命令行窗口fmt.PrintX() 等方法打印的调试信息会显示在这个窗口中。

如果已经完成调试,进行正式发布,一般需要去掉这个窗口,可增加以下编译参数:

go build -ldflags "-s -w -H=windowsgui -extldflags=-static"

添加程序图标

使用 rsrc 创建 .syso 然后 go build 的时候会自动添加图标。

go install github.com/akavel/rsrc@latest
rsrc -ico my.ico -o my.syso

rsrc 还支持 manifest 文件。

添加窗口图标

有的 UI 库需要 Load image.Image 作为窗口图标。如果从 png 文件中读取图标,可以使用如下方法:

f, e := os.OpenFile("Drilling.png", os.O_RDONLY, 0666)
if e == nil {
	ico, e := png.Decode(f)
	if e == nil {
		// SetIcon(ico)
	}
}