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

37 lines
921 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Golang 创建窗口程序编译参数
## 去除命令行窗口
在双击运行 Golang 编译的窗口程序时会弹出一个命令行窗口fmt.PrintX() 等方法打印的调试信息会显示在这个窗口中。
如果已经完成调试,进行正式发布,一般需要去掉这个窗口,可增加以下编译参数:
```makefile
go build -ldflags "-s -w -H=windowsgui -extldflags=-static"
```
## 添加程序图标
使用 rsrc 创建 .syso 然后 go build 的时候会自动添加图标。
```bash
go install github.com/akavel/rsrc@latest
rsrc -ico my.ico -o my.syso
```
rsrc 还支持 manifest 文件。
## 添加窗口图标
有的 UI 库需要 Load image.Image 作为窗口图标。如果从 png 文件中读取图标,可以使用如下方法:
```go
f, e := os.OpenFile("Drilling.png", os.O_RDONLY, 0666)
if e == nil {
ico, e := png.Decode(f)
if e == nil {
// SetIcon(ico)
}
}
```