添加 Golang 创建窗口程序编译参数.
Signed-off-by: rick.chan <cy187lion@sina.com>
This commit is contained in:
parent
b69e45e10f
commit
3f96212e3e
|
@ -0,0 +1,36 @@
|
|||
# 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)
|
||||
}
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue