go在windows上打包成exe

1. 新建 decrypt.exe.manifest(项目名 decrypt)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="SomeFunkyNameHere" type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True</dpiAware>
</windowsSettings>
</application>
</assembly>

2. 生成 decrypt.syso

2.1 安装rsrc

https://github.com/akavel/rsrc/releases

2.2 生成decrypt.syso

1
rsrc -manifest decrypt.exe.manifest -ico favicon.ico -o decrypt.syso

3. 打包成exe文件

1
go build -ldflags="-H windowsgui -s -w"

4. 压缩文件

4.1 下载upx

Releases · upx/upx (github.com)

4.2 压缩

1
upx.exe -9 *.exe
作者

建指所向

发布于

2021-08-25

更新于

2023-11-07

许可协议