golang交叉编译
-
demo test
package main import ( "fmt" "runtime" ) func main() { fmt.Println("Test os") fmt.Println(runtime.GOOS) }
通过设置 GOOS=windows/linux/drawin...
,可以在windwos上编译出不同平台的可执行程序
-
区分平台的代码
通过 +build 标识编译平台,必须和 package 之间有一个空行
-
windows
-
linux
-
路由器 mipsle
// 设置系统 set GOOS=linux // 设置CPU架构 set GOARCH=mipsle // go模拟软浮点类型 set GOMIPS=softfloat // 删除符号表和调试信息 go build -ldflags "-w -s"
静态编译链接
go build -ldflags "-linkmode external -extldflags -static" .