zoukankan      html  css  js  c++  java
  • Go交叉编译(Go语言Mac/Linux/Windows下交叉编译)

    Go交叉编译(Go语言Mac/Linux/Windows下交叉编译)

    2019/11/21 Chenxin

    在很多时候,由于开发的方便,会有这样的场景出现,使用Mac开发或使用Windows开发,需要编译成Linux系统的执行文件,那么如何做到?Go语言提供了非常方便的命令行操作,即可实现。

    1.Mac下编译Linux, Windows

    # Linux
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build filename.go
     
    # Windows
    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go
    如: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o helloworld-windows helloworld.go
    

    2.Linux下编译Mac, Windows

    # Mac
    CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build filename.go
     
    # Windows
    CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build filename.go
    

    3.Windows下编译Mac, Linux

    # Mac
    SET CGO_ENABLED=0
    SET GOOS=darwin
    SET GOARCH=amd64
    go build filename.go
     
    # Linux
    SET CGO_ENABLED=0
    SET GOOS=linux
    SET GOARCH=amd64
    go build filename.go
    

    4.参数说明

    查看环境:

    $> go env
    GO111MODULE=""
    GOARCH="amd64"
    GOBIN=""
    GOCACHE="/Users/chanix/Library/Caches/go-build"
    GOENV="/Users/chanix/Library/Application Support/go/env"
    GOEXE=""
    GOFLAGS=""
    GOHOSTARCH="amd64"
    GOHOSTOS="darwin"
    GONOPROXY=""
    GONOSUMDB=""
    GOOS="darwin"
    GOPATH="/Users/chanix/go"
    GOPRIVATE=""
    GOPROXY="https://proxy.golang.org,direct"
    GOROOT="/usr/local/go"
    GOSUMDB="sum.golang.org"
    GOTMPDIR=""
    GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
    GCCGO="gccgo"
    AR="ar"
    CC="clang"
    CXX="clang++"
    CGO_ENABLED="1"
    GOMOD=""
    CGO_CFLAGS="-g -O2"
    CGO_CPPFLAGS=""
    CGO_CXXFLAGS="-g -O2"
    CGO_FFLAGS="-g -O2"
    CGO_LDFLAGS="-g -O2"
    PKG_CONFIG="pkg-config"
    GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ln/v9zzjzys4rsbfnsw4_8l2cgm0000gn/T/go-build896214833=/tmp/go-build -gno-record-gcc-switches -fno-common"
    
  • 相关阅读:
    单例设计模式
    HashMap 排序
    代理、动态代理
    冒泡排序 、二分查找、快速排序
    Azure powershell 订阅登录管理
    cmdbuild -2.4.3 在Centos7部署
    Zabbix3.0 安装部署
    nginx 一键安装
    通过菜单一键安装mysql
    Rsync同步工具
  • 原文地址:https://www.cnblogs.com/chanix/p/11942575.html
Copyright ? 2011-2022 开发猿


http://www.vxiaotou.com