xiu2 %!s(int64=2) %!d(string=hai) anos
pai
achega
2634fe43ff
Modificáronse 1 ficheiros con 54 adicións e 0 borrados
  1. 54 0
      README.md

+ 54 - 0
README.md

@@ -563,6 +563,60 @@ _**CloudflareST OpenWrt 原生编译版本 [#64](https://github.com/XIU2/Cloudfl
 
 ****
 
+## 手动编译
+
+<details>
+<summary><code><strong>「 点击展开 查看内容 」</strong></code></summary>
+
+****
+
+为了方便,我是在编译的时候将版本号写入代码中的 version 变量,因此你手动编译时,需要像下面这样在 `go build` 命令后面加上 `-ldflags` 参数来指定版本号:
+
+```bash
+go build -ldflags "-s -w -X main.version=v2.3.3"
+# 在 CloudflareSpeedTest 目录中通过命令行(例如 CMD、Bat 脚本)运行该命令,即可编译一个可在和当前设备同样系统、位数、架构的环境下运行的二进制程序(Go 会自动检测你的系统位数、架构)且版本号为 v2.3.3
+```
+
+如果想要在 Windows 64位系统下编译**其他系统、架构、位数**,那么需要指定 **GOOS** 和 **GOARCH** 变量。
+
+例如在 Windows 系统下编译一个适用于 **Linux 系统 amd 架构 64 位**的二进制程序:
+
+```bat
+SET GOOS=linux
+SET GOARCH=amd64
+go build -ldflags "-s -w -X main.version=v2.3.3"
+```
+
+例如在 Linux 系统下编译一个适用于 **Windows 系统 amd 架构 32 位**的二进制程序:
+
+```bash
+GOOS=windows
+GOARCH=386
+go build -ldflags "-s -w -X main.version=v2.3.3"
+```
+
+> 可以运行 `go tool dist list` 来查看当前 Go 版本支持编译哪些组合。
+
+****
+
+当然,为了方便批量编译,我会专门指定一个变量来为版本号,后续编译就直接调用该版本号变量即可。
+
+```bat
+:: Windows 系统下是这样:
+SET version=v2.3.3
+go build -ldflags "-s -w -X main.version=%version%"
+```
+
+```bash
+# Linux 系统下是这样:
+version=v2.3.3
+go build -ldflags "-s -w -X main.version=${version}"
+```
+
+</details>
+
+****
+
 ## License
 
 The GPL-3.0 License.